<asp:TemplateColumn HeaderText="列名">
<HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="Blue"></HeaderStyle>
<ItemStyle Font-Size="X-Small" HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:CheckBoxList ID="cblxxxx" Runat="server">
<asp:ListItem Value="1" Selected="True"></asp:ListItem>
<asp:ListItem Value="2" Selected="False"></asp:ListItem>
</asp:CheckBoxList>
</ItemTemplate>
</asp:TemplateColumn>

解决方案 »

  1.   

    在datagrid的属性生成器里建立一个模板列
    然后编辑模板——选你建立的列——在ItemTemplate下放一个checkbox,命名CheckSelect
    判断行是否选中:
    foreach (DataGridItem CheckBoxItem in this.GridList.Items)
    {
    if (((CheckBox)CheckBoxItem.FindControl("CheckSelect")).Checked )
    {
    //执行删除程序
    } }
      

  2.   

    這就是你想要的:
    <%@ Page Language="vb" Debug="true" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <script language="VB" runat="server">
     dim MyConnection As OleDbConnection Sub Page_Load(s As Object, E As EventArgs)
         MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\inetpub\wwwroot\nhonline\datagrid\kk.mdb")
            If Not (IsPostBack) then
            BindDataGrid()
            End If
     End SubSub BindDataGrid()
        dim dadTitles as OleDbDataAdapter
        dim dstTitles as DataSet
        dadTitles=new OleDbDataAdapter("select * from [min] order by id desc",MyConnection)
    dstTitles=new DataSet
    dadTitles.fill(dstTitles)
    MyDataGrid.DataSource=dstTitles
    MyDataGrid.DataBind()
    End SubSub Mydatagrid_PageIndexChanged(s as object,e as DataGridPageChangedEventargs)
        MyDataGrid.CurrentPageIndex=e.newPageIndex
    BindDataGrid()
    End SubSub btnDel_OnClick(ByVal sender As Object, ByVal e As EventArgs)
        Dim myDataGridItem_del As DataGridItem
        Dim chkSelected_del As System.Web.UI.WebControls.CheckBox
        Dim strBoardType_del As String
        Dim strBoardID_del As String
     
        lblSelect.Text = "<br>You selected the Following items:<br><br>"
        lblStatus.Text=""
        For Each myDataGridItem_del In MyDataGrid.Items
            chkSelected_del = myDataGridItem_del.FindControl("chkSelection")
            If chkSelected_del.Checked Then
       lblSelect.visible=true
               strBoardType_del= CType(myDataGridItem_del.FindControl("lblBoardType"), Label).Text
               strBoardID_del = CType(myDataGridItem_del.FindControl("hdnBoardid"), Label).Text
    '--------------------------------------------
            Dim MyDelCommand As OleDbCommand
            Dim DeleteCmd As String = "DELETE FROM [min] WHERE id = @Id"        MyDelCommand = New OleDbCommand(DeleteCmd, MyConnection)
            MyDelCommand.Parameters.Add(New OleDbParameter("@Id", OleDbType.VarChar, 11))
            MyDelCommand.Parameters("@Id").Value = int32.parse(strBoardID_del)        MyDelCommand.Connection.Open()
            MyDelCommand.ExecuteNonQuery()
            MyDelCommand.Connection.Close()
    '---------------------------------------------
                    lblStatus.Text += "The id is Deleted<b>" & strBoardType_del & "</b>"
                    lblStatus.Text += " and the id is Deleted<b>" & strBoardID_del & "</b><br>"
                else
        lblSelect.visible=false
                End If
            Next
        try    
            BindDataGrid()
            
        catch
            Mydatagrid.CurrentpageIndex=MyDataGrid.pagecount-1
            BindDataGrid()
        end try
        End Sub  
    </script>
    <html>
    <head><title>DataGrid_CheckBox.aspx</title></head>
    <body>
    <link rel="stylesheet" href="css.css" type="text/css"> 
    <form runat="server">
    <TABLE style="BORDER-COLLAPSE: collapse" borderColor="WHITE" BgColor="#e4eaf2" cellSpacing="0" cellPadding="0" width="300" align="left" border="1">
    <TR>
    <TD><b bgcolor=red>
    <input type="button" id="btnDel" OnServerClick="btnDel_OnClick" value="Del_ID" runat="server"></td>
    </TR>
    <tr><td>
    <asp:DataGrid id="MyDataGrid"
                  width="300"
                  Runat="server"
                  AllowPaging="true" 
      pageSize="5" 
      OnPageIndexChanged="Mydatagrid_PageIndexChanged" 
      cellPadding="3"
      AutoGenerateColumns="false" 
      HeaderStyle-BackColor="#ff0000"
          HeaderStyle-Font-Bold="True"
          HeaderStyle-Font-Name="Verdana"
          HeaderStyle-Font-Size="13px"
          HeaderStyle-ForeColor="#ffffff"
          ItemStyle-BackColor=Beige
          ItemStyle-Font-Name="verdana"
          ItemStyle-Font-Size="13px"
      >
                  <PagerStyle Mode="NumericPages"
                  Font-Bold="true" 
                  BackColor="#FFCC99"
                  HorizontalAlign="right" 
      Font-Size="Large"
      >    
      </PagerStyle>
         <Columns>
      <asp:TemplateColumn HeaderStyle-HorizontalAlign=Center  HeaderText="X">
        <ItemTemplate>
            <asp:Checkbox ID="chkSelection"  Runat=server />
            <asp:Label ID="hdnBoardid"  Visible="False"  Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' Runat=server />
        </ItemTemplate> 
    </asp:TemplateColumn> 
    <asp:TemplateColumn HeaderText="ID">
    <ItemTemplate>
            <asp:Label ID="lblBoardType"  Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' Runat=server />
    </ItemTemplate> 
    </asp:TemplateColumn> 
      </Columns>
    </asp:DataGrid>
    </td></tr>
    <tr><td>
    <asp:Label ID="lblSelect" 
    Font-Name="verdana" 
    Font-Size="12px" 
    ForeColor="#ff0000"
    Runat=server 
    enableviewstate="false"/>
    <asp:Label ID="lblStatus" 
    Font-Name="verdana" 
    Font-Size="12px" 
    ForeColor="#ff0000"
    Runat=server 
    enableviewstate="false"/>
    </td></tr>
    </table>
    </form>
    </body>
    </html>