日期:2013-11-27  浏览次数:20690 次

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。大家一起进步。