欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

如何为ASPxGridView添加序号列

创建时间:2012年08月06日 14:23  阅读次数:(7345)
分享到:
AspxGridView与GridView控件一样,都是操作大数据量的列表数据的控件。那么我们如何像GridView控件一样,为AspxGridView控件添加一个序号列呢?就像下图一样:

有了序号列,用户可以快速定位自己想要的数据,对用户的体验度可加分不少哦。

一,首先为AspxGridView添加序号列
/// <summary>
/// 为AspxGridView添加序号列,附件数量列
/// </summary>
/// <param name="_grid"></param>
public void SetGridAddNumberCol(AspxGridView _grid)
{
if (_grid != null)
{
if (_grid.Columns["序号"] == null)
{
GridViewDataTextColumn col = new GridViewDataTextColumn();
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);

//这里主要是用来设置序号列的显示顺序,我们总是希望序号列显示在列表的最前面吧,但如果前面还有一个选择列的话,序号列就应该位于选择列的后面,也就是第二列。当然了,这段代码是可以根据情况来修改或者可以完全删除掉的。
bool isvisible;
if (_grid.Columns[0].GetType().Name != "GridViewCommandColumn")
{
for (int i = 0; i < _grid.Columns.Count; i++)
{
if (_grid.Columns[i].Caption == "序号")
_grid.Columns[i].VisibleIndex = 0;
else
{
isvisible = _grid.Columns[i].Visible;
_grid.Columns[i].VisibleIndex = _grid.Columns[i].VisibleIndex + 1;
_grid.Columns[i].Visible = isvisible;
}
}
}
}
}


二,添加后序后,还需要为该列赋值,当然了,这个就相当的简单了,我们只需要在AspxGridView的Grid_HtmlDataCellPrepared事件中为"序号"这个栏位赋值就好了,代码如下:
protected void Grid_HtmlDataCellPrepared(object sender, AspxGridViewTableDataCellEventArgs e)
{
if (IsCreateNumberCol && e.DataColumn.Caption == "序号")
{
    e.Cell.Text = (e.VisibleIndex + 1).ToString();
}
}

如果你的数据源有使用了分页存储过程,而又想使用翻页后的序号是连续的,你可以改写填充序号的代码如下:
protected void Grid_HtmlDataCellPrepared(object sender, AspxGridViewTableDataCellEventArgs e)
{
if (IsCreateNumberCol && e.DataColumn.Caption == "序号")
{
    e.Cell.Text =  (e.VisibleIndex +(AspxGridViewID.PageIndex * AspxGridViewID.SettingsPager.PageSize) + 1).ToString();
}
}

注意:使用这个方法添加上的序号值,在使用DevExpress导出控件导出数据的时候是导不出来的。如果要想导出序号值,只有数据源中包含序号值才行。s
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 61+73=? 的结果(结果是:134)
结  果: