|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我也不知道,我原来理解的,NET就是C++编程,只是与JAVA相对,呵呵。以为.ET就是高级C++编程。AspxGridView与GridView控件一样,都是操纵年夜数据量的列表数据的控件。那末我们怎样像GridView控件一样,为AspxGridView控件增加一个序号列呢?就像下图一样:
有了序号列,用户能够疾速定位本人想要的数据,对用户的体验度可加分很多哦。
一,起首为AspxGridView增加序号列
///<summary>
///为AspxGridView增加序号列,附件数目列
///</summary>
///<paramname="_grid"></param>
publicvoidSetGridAddNumberCol(AspxGridView_grid)
{
if(_grid!=null)
{
if(_grid.Columns["序号"]==null)
{
GridViewDataTextColumncol=newGridViewDataTextColumn();
col.HeaderStyle.HorizontalAlign=HorizontalAlign.Center;
col.CellStyle.HorizontalAlign=HorizontalAlign.Center;
col.EditFormSettings.Visible=DevExpress.Web.ASPxClasses.DefaultBoolean.False;
col.Caption="序号";
col.VisibleIndex=0;
_grid.Columns.Add(col);
//这里次要是用来设置序号列的显现按次,我们老是但愿序号列显现在列表的最后面吧,但假如后面另有一个选择列的话,序号列就应当位于选择列的前面,也就是第二列。固然了,这段代码是能够依据情形来修正大概能够完整删撤除的。
boolisvisible;
if(_grid.Columns[0].GetType().Name!="GridViewCommandColumn")
{
for(inti=0;i<_grid.Columns.Count;i++)
{
if(_grid.Columns.Caption=="序号")
_grid.Columns.VisibleIndex=0;
else
{
isvisible=_grid.Columns.Visible;
_grid.Columns.VisibleIndex=_grid.Columns.VisibleIndex+1;
_grid.Columns.Visible=isvisible;
}
}
}
}
}
二,增加后序后,还必要为该列赋值,固然了,这个就相称的复杂了,我们只必要在AspxGridView的Grid_HtmlDataCellPrepared事务中为"序号"这个栏位赋值就行了,代码以下:
protectedvoidGrid_HtmlDataCellPrepared(objectsender,AspxGridViewTableDataCellEventArgse)
{
if(IsCreateNumberCol&&e.DataColumn.Caption=="序号")
{
e.Cell.Text=(e.VisibleIndex+1).ToString();
}
}
假如你的数据源有利用了分页存储历程,而又想利用翻页后的序号是一连的,你能够改写添补序号的代码以下:
protectedvoidGrid_HtmlDataCellPrepared(objectsender,AspxGridViewTableDataCellEventArgse)
{
if(IsCreateNumberCol&&e.DataColumn.Caption=="序号")
{
e.Cell.Text=(e.VisibleIndex+(AspxGridViewID.PageIndex*AspxGridViewID.SettingsPager.PageSize)+1).ToString();
}
}
注重:利用这个办法增加上的序号值,在利用DevExpress导出控件导出数据的时分是导不出来的。假如要想导出序号值,只要数据源中包括序号值才行。听03很多师兄说主讲老师杭城方讲课很差就连旁听也没有去了) |
|