初始化的时候把有checkbox的字段的DefaultValue设置成false或者true就可以了。

解决方案 »

  1.   

    但是我無法操縱DataGridBoolColumn中的checkbox呀
      

  2.   

    樓上指的是用hittest判斷點擊的是哪個cell﹐然後反選其中的checkbox嗎
      

  3.   

    private void dataGrid1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    DataGrid myGrid = (DataGrid) sender;
    System.Windows.Forms.DataGrid.HitTestInfo hti;
    hti = myGrid.HitTest(e.X, e.Y);
    string message = "You clicked "; switch (hti.Type) 
    {

    case System.Windows.Forms.DataGrid.HitTestType.Cell :
    if (hti.Column==9)
    {
    if (dataGrid1[dataGrid1.CurrentRowIndex,9].ToString()=="true")
    dataGrid1[dataGrid1.CurrentRowIndex,9]=false;

                 if (dataGrid1[dataGrid1.CurrentRowIndex,9].ToString()!="false")
                              dataGrid1[dataGrid1.CurrentRowIndex,9]=true;  

    }
    break;
    }
              
    }
    //9表示第十列数据为bit 类列。。
      

  4.   

    同意 boytomato的方法,应该可以
      

  5.   

    不用吧,我们做的程序,点击一次就可以了,在Datagrid里跟没在一样啊
    <Columns>
        <asp:BoundColumn DataField="公司名称" HeaderText="公司名称"></asp:BoundColumn>
    <asp:TemplateColumn HeaderText="***">
    <ItemTemplate>
    <asp:checkbox id="CheckBox1" runat="server"></asp:checkbox>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    for(int i=0;i<mydatagrid.Items.Count;i++)
    {
    dr = (CheckBox)(mydatagrid.Items[i].Cells[5].Controls[1]);
    if(dr.Checked)
    {
    }
    }
      

  6.   

    非常感謝大家﹐特別是boytomato
    樓上的是web的﹐我說的是windows的^^