DataGrid控件-如何在DataGrid控件中添加CheckBox控件
<HTML>
<HEAD>
<title>DataGridCheckBox</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="0">
<TR>
<TD><asp:datagrid id="dgCheckBox" runat="server" GridLines="Vertical" CellPadding="3" BackColor="White"
BorderWidth="1px" BorderStyle="None" BorderColor="#999999" AutoGenerateColumns="False">
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#008A8C"></SelectedItemStyle>
<AlternatingItemStyle BackColor="#DCDCDC"></AlternatingItemStyle>
<ItemStyle ForeColor="Black" BackColor="#EEEEEE"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#000084"></HeaderStyle>
<FooterStyle ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox id="chkExport" runat="server"></asp:CheckBox>
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox id="chkExportON" runat="server"></asp:CheckBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="LastName" HeaderText="LastName"></asp:BoundColumn>
<asp:BoundColumn DataField="FirstName" HeaderText="FirstName"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="City">
<ItemTemplate>
<asp:Label id=lblColumn runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.City") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="Black" BackColor="#999999" Mode="NumericPages"></PagerStyle>
</asp:datagrid></TD>
</TR>
<TR>
<TD><asp:button id="cmdSelectAll" runat="server" Text="全选"></asp:button><asp:button id="cmdFindSelected" runat="server" Text="取得选择的项"></asp:button></TD>
</TR>
<TR>
<TD><asp:label id="Message" runat="server">Label</asp:label></TD>
</TR>
</TABLE>
</FONT>
</form>
</body>
</HTML>
private void DataGridDataBind()
{
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection("Server=soft5;User id=sa;Pwd=;Database=Northwind");
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("select top 5 LastName,FirstName,City from Employees",conn);
//创建DataSet对象
DataSet ds = new DataSet();
try
{
//填充数据集
da.Fill(ds,"testTable");
//进行数据绑定
dgCheckBox.DataSource = ds.Tables["testTable"];
dgCheckBox.DataBind();
}
catch(Exception error)
{
//输出异常信息
Response.Write(error.ToString());
}
}
private void cmdSelectAll_Click(object sender, System.EventArgs e)
{
System.Web.UI.WebControls.CheckBox chkExport;
//如果要全选
if(cmdSelectAll.Text == "全选")
{
//循环设置DataGrid控件中的项
foreach(DataGridItem oDataGridItem in dgCheckBox.Items)
{
//建立模板列中CheckBox控件的引用
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
//选中
chkExport.Checked =true;
}
cmdSelectAll.Text = "全消";
}
else
{
foreach(DataGridItem oDataGridItem in dgCheckBox.Items)
{
//建立模板列中CheckBox控件的引用
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
//取消
chkExport.Checked = false;
}
cmdSelectAll.Text = "全选";
}
}
private void cmdFindSelected_Click(object sender, System.EventArgs e)
{
System.Web.UI.WebControls.CheckBox chkExport;
String sID;
System.Text.StringBuilder strMsg = new System.Text.StringBuilder("选中项的City字段值分别为:<hr color=red>");
//循环取的DataGrid控件中选定项的值
foreach(DataGridItem oDataGridItem in dgCheckBox.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
//如果选中了则取值
if(chkExport.Checked)
{
sID = ((Label)(oDataGridItem.FindControl("lblColumn"))).Text;
strMsg.Append(sID+"<br><hr color=red>");
}
}
//显示选中项的值
Message.Text = strMsg.ToString();
}posted on 2006-02-16 16:32 mjgforever 阅读(1006) 评论(1) 收藏 举报

浙公网安备 33010602011771号