Using DataGrid(attitude of mine)
网络整理 - 08-10
TKS!A、简介
DataGrid 位于System.Web.UI.WebControls名称空间下;在using此名称空间的时候,请确定 你是否在当前的项目的引用里 添加了System.Web.DLL 这个 assemble(程序集)
B、主题
这片文章里我将把我对DataGrid的一些初步认识与大家分享以及怎样在DataGrid的Colums binding CheckBoxList控件[以此类推,大家可以很轻松bind其他的WebControls]。
C、Some importants pionts
必须了解的事件:
DataGrid.ItemDataBound:在数据bind后发生
几个类:
DataGridItem: 表示一行数据,同时DataGrid.Items 就是DataGridItem的集合
TableCell:表示一个表格的单元格
DataGridItemEventArgs: 从EventArgs继承
D、实现
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
DataGridItem item = e.Item; //获取当前行的,即DataGridItem
int id = int.Parse(item.Cells[0].Text); //获取相关查询的数据库的关键字,这里我把一个id存在第一列
CheckBoxList productsList; //申明一个CheckBoxList变量
productsList = new CheckBoxList(); //实例一个CheckBoxList对象
DataTable products = ProductAccessor.GetProducts( id ); //根据取的id查询数据库
for ( int i = 0 ; i < products.Rows.Count ; i++ )
{
ListItem listItem = new ListItem(); //申明并实例一个ListItem
listItem.Value = products.Rows[i][0].ToString();
listItem.Text = products.Rows[i][1].ToString();
if ( products.Rows[i][2].ToString() == "1" )
listItem.Selected = true;
productsList.Items.Add( listItem ); //把ListItem 添加到 CheckBoxList中去
}
productsList.SelectedIndexChanged +=new EventHandler(productsList_SelectedIndexChanged);
productsList.AutoPostBack = true;
item.Cells[1].Controls.Add( productsList ); //把CheckBoxList添加到当前行的 第二个单元格去
}
}
E 、
至此,我们已经完成了把CheckBoxList添加DataGrid的主要工作,看看我们的DataGrid是不是变的更人性化了呵呵!!!
嘎嘎,如果大家就这篇文章有什么疑问的话可以QQ25359952,I WILL VERY HAPPY TO HELP EVERYBOY。大家一起进步。