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