private void Form1_Load(object sender, System.EventArgs e)
{
  DataTable dt = new DataTable();
  DataColumn dc1= new DataColumn("dc1");
  dc1.DataType = System.Type.GetType("System.Boolean"); 
  dt.Columns.Add(dc1);
  DataRow  dr= dt.NewRow();
  dr["dc1"]=true;
  dataGrid1.DataSource = dt;
}private void button1_Click(object sender, System.EventArgs e)
{
  MessageBox.Show(dataGrid1[0,0].ToString());
}

解决方案 »

  1.   

    checkbox是否选中
    dataGrid1.CurrentCell.RowNumber
    dataGrid1.CurrentIndex
      

  2.   

    看这个!http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=FF130C7F-3650-4DA6-8943-8AA4AF3E3459
      

  3.   

    自己写一个类
    public class MyDataGridBoolColumn:DataGridBoolColumn
    {
    private bool m_bInEdit;
    //private int m_intOldValue;
    private int m_xMargin = 2;
    private int m_yMargin = 1;
    private CheckBox m_cb;
    //private DataGrid selfdg;  public MyDataGridBoolColumn(DataGrid dg)
    {
    m_cb=new CheckBox();
    m_cb.Visible = false;
    m_cb.CheckedChanged +=new System.EventHandler(this.MYCheck);
    dg.Controls.Add(m_cb);
    //selfdg = dg; }
    .
    .
    .
    public delegate void MyEvent(object sender, System.EventArgs e, CheckBox ACheckBox);
    public event MyEvent DGCheckChange;
    private void MYCheck(object sender, System.EventArgs e)
    {
    if(DGCheckChange!=null)
    {
    DGCheckChange(this.m_cb,new System.EventArgs(),m_cb);
    }
    }
    }
      

  4.   

    你可以自己从 DataGridColumnStyle 继承一个类,嵌入 CheckBox 的功能
    从实现的功能上讲,它类似于 DataGridBoolColumn,不过,你可以控制更多的属性(你可以公开更多内容。
      

  5.   

    新建一个模板列,在其中加入CheckBox:
    <Columns>
          <asp:TemplateColumn>
     <HeaderStyle Width="10px"></HeaderStyle>
          <HeaderTemplate>
          </HeaderTemplate>
          <ItemTemplate>
        <asp:CheckBox id="chkselect" Runat="server"></asp:CheckBox>
          </ItemTemplate>
          </asp:TemplateColumn>
    <Columns>判断是否被选中:bool isDeleted; //默认情况下为false;
    string isDelNo="";
    foreach(DataGridItem anItem in dgList.Items)
    {
          isDeleted=((CheckBox)anItem.FindControl("chkselect")).Checked;  //判断是否被选中
          if(isDeleted)
          {
    string lockno=anItem.Cells[1].Text;  
    //可以加入需要对此行进行操作的代码
          }
    }
      

  6.   

    The CheckBoxColumn class is pretty straight forward:using System;
    using System.Collections;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    namespace DataGridControls
    {
     /// <summary>
     /// CheckBoxColumn Derives from DataGrid Column
     /// </summary>
     public class CheckBoxColumn : DataGridColumn
     {
        public CheckBoxColumn(): base()
          {
          }
      
          public override void InitializeCell(TableCell cell, 
            int columnIndex, ListItemType itemType) 
          {
               //let the base class initialize the cell
               base.InitializeCell(cell, columnIndex, itemType);           //we don't want to add a checkbox to the header.
               if(    itemType == ListItemType.EditItem || 
                itemType == ListItemType.Item || 
                itemType == ListItemType.AlternatingItem || 
                itemType == ListItemType.SelectedItem){                HtmlInputCheckBox checkbox = new HtmlInputCheckBox();
                    //assign an ID that we can use to find the control later
                    checkbox.ID = "checkboxCol";
                    cell.Controls.Add(checkbox);
               }
          }
          public Int32[] SelectedIndexes 
          {
               get 
               {
                    ArrayList selectedIndexList = new ArrayList();
                    //iterate each DataGridItem and find our checkbox
                    foreach( DataGridItem item in this.Owner.Items ) 
                    {
                         HtmlInputCheckBox chkBox = 
                            (HtmlInputCheckBox) item.FindControl("checkboxCol");
         
                         //If it's selected then add it to our ArrayList
                         if ( chkBox != null && chkBox.Checked )  
                         {
                              selectedIndexList.Add( item.ItemIndex );
                         } 
         
                    }
                    return (Int32[])selectedIndexList.ToArray(typeof( 
                            System.Int32 ) );
               }
          }
          public object[] SelectedDataKeys 
          {
               get 
               {
                    //Just iterate each of the selectedindexes and 
                    //match it up to the datakey field
                    ArrayList dataKeyList = new ArrayList();
                    //make sure the datakeys have some values
                    if(this.Owner.DataKeys.Count > 0)
                    {
                         foreach( Int32 selectedIndex in SelectedIndexes ) 
                         {
         
                              object DataKey = 
                                  (this.Owner.DataKeys[selectedIndex].ToString());
                              dataKeyList.Add(DataKey);
                         }
                    }
                    return (object[])dataKeyList.ToArray(typeof( object ) );
               }
       
          }
       }
    }