下:
<%@ Page language="c#" Codebehind="TestCheckBox.aspx.cs"
AutoEventWireup="false" Inherits="Example_12_5.TestCheckBox" %>
<HTML><HEAD><title>Example_12_5:使用ASP.NET中的自定义控件</title></HEAD>
<asp:DataGrid id="myDataGrid" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="名称"><ItemTemplate>
<asp:Label ID="Name" Runat="server" Text=''<%#
DataBinder.Eval(Container.DataItem, "Name") %>''>
</asp:Label>
</ItemTemplate></asp:TemplateColumn>
<asp:TemplateColumn HeaderText="类型"><ItemTemplate>
<asp:Label ID="Type" Runat="server" Text=''<%#
DataBinder.Eval(Container.DataItem, "Type") %>''>
</asp:Label>
</ItemTemplate></asp:TemplateColumn>
<asp:TemplateColumn HeaderText="数据"><ItemTemplate>
<asp:Label ID="Data" Runat="server" Text=''<%#
DataBinder.Eval(Container.DataItem, "Data") %>''>
</asp:Label>
</ItemTemplate></asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<asp:Button id="ShowMsg" runat="server" Text="显示消息"></asp:Button>
<asp:Label id="CheckMsg" runat="server" Width="100%"
ForeColor="Red"></asp:Label>
</HTML>
4.设计页面TestCheckBox.aspx的事件和函数
页面TestCheckBox.aspx调用函数Page_Load(object sender, System.EventArgs e)初始化,该函数调用函数AddColumnToDataGrid()和函数BindData()分别实现在myDataGrid控件添加一个 CheckBoxColumn模板列和绑定myDataGrid控件的数据。函数AddColumnToDataGrid()在创建一个 CheckBoxColumn模板列时,同时还设置该模板列的属性DataField、属性HeaderText,以及CheckBox控件的事件 CheckedChanged。函数Page_Load(object sender, System.EventArgs e)、AddColumnToData Grid()和BindData()的程序代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
AddColumnToDataGrid();
BindData();
}
private void AddColumnToDataGrid()
{ //添加一列复选框
CheckBoxColumn checkCol = new CheckBoxColumn(true,"MyBox");
checkCol.DataField = "Boolean";
checkCol.HeaderText = "复选框";
//添加复选框的事件
checkCol.CheckedChanged += new EventHandler(checkCol_CheckedChanged);
//添加到myDataGrid控件中
myDataGrid.Columns.Add(checkCol);
}
private void BindData()
{
//绑定myDataGrid控件的数据
myDataGrid.DataSource = CreateDataSource();
myDataGrid.DataBind();
}
函数BindData()调用函数CreateDataSource()创建myDataGrid控件的数据源dataTable。函数CreateDataSource()首先定义数据表对象dataTable,并在dataTable对象中添加4个数据列 DataColumn,它们分别为“Name”、“Type”、“Data”和“Boolean”,分别表示名称、类型、数据和布尔型数据。然后函数 CreateDataSource()通过for语句设置表对象dataTable中的数据。 |