如何为ASPxGridView添加序号列

2024年11月15日 11:11
有1个网友回答
网友(1):

说起,相信很多学习.net的朋友并不会陌生。本文将由达内的讲师详细为您介绍关于的相关常识。 AspxGridView与GridView控件一样,都是操作大数据量的列表数据的控件。那么我们如何像GridView控件一样,为AspxGridView控件添加一个序号列呢?就像下图一样: 有了序号列,用户可以快速定位自己想要的数据,对用户的体验度可加分不少哦。 一,首先为AspxGridView添加序号列 ///


/// 为AspxGridView添加序号列,附件数量列
///

///
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导出控件导出数据的时候是导不出来的。如果要想导出序号值,只有数据源中包含序号值才行。 现在,相信朋友们对于了解的更加清楚了,达内培训作为IT培训的领导品牌,为互联网行业培养了无数精英。