<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>
<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>
然后编辑模板——选你建立的列——在ItemTemplate下放一个checkbox,命名CheckSelect
判断行是否选中:
foreach (DataGridItem CheckBoxItem in this.GridList.Items)
{
if (((CheckBox)CheckBoxItem.FindControl("CheckSelect")).Checked )
{
//执行删除程序
} }
<%@ 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>