如何从代码后面设置aspx(devExpress)网格的列属性(DisplayFormatString为准确)?

时间:2015-12-29 10:47:56

标签: asp.net devexpress aspxgridview

我有一个aspx(devexpress)网格。使用它我从代码后面动态生成列.Below是我的grid_databinding事件中的代码。

GridViewDataTextColumn bfield = new GridViewDataTextColumn();
if (TestString.YearSelectedNames.ToString().Length > 4)
{  string colName = string.Empty;
if (iCount % 2 == 0)
  {

   colName = TestString.YearSelectedNames.ToString().Substring(5, 4) + "-" + dtFreezing.Columns[iCount].ColumnName.ToString();
   bfield.HeaderTemplate = new DevxGridViewTemplate(ListItemType.Header, typeof(Label), colName, iCount);
  }
  else
     {
     colName = TestString.YearSelectedNames.ToString().Substring(0, 4) + "-" + dtFreezing.Columns[iCount].ColumnName.ToString().Replace('1', ' ');
     bfield.HeaderTemplate = new DevxGridViewTemplate(ListItemType.Header, typeof(Label), colName, iCount);
     }

}
else
    {
    bfield.HeaderTemplate = new DevxGridViewTemplate(ListItemType.Header, typeof(Label), dtFreezing.Columns[iCount].ColumnName.Trim(), iCount);
    }
    bfield.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
    bfield.HeaderStyle.Wrap = DevExpress.Utils.DefaultBoolean.True;
    bfield.Name = dtFreezing.Columns[iCount].ColumnName.Trim();
    bfield.Width = Unit.Pixel(120);
    bfield.VisibleIndex = iCount;
    bfield.DataItemTemplate = new DevxGridViewTemplate(ListItemType.Item, typeof(Label), dtFreezing.Columns[iCount].ColumnName.Trim(), iCount);
    bfield.CellStyle.HorizontalAlign = HorizontalAlign.Right;
    bfield.PropertiesTextEdit.DisplayFormatString = "N2";
    gridViewProductCrop.Columns.Add(bfield);

这里是代码行

bfield.PropertiesTextEdit.DisplayFormatString = "N2";

是我试图设置网格的属性的地方。列只显示小数点后的两位小数。

这行代码似乎不起作用。

我甚至尝试使用"{0:0.00}""{0:N2}",但徒劳无功

可能的原因是我在网格的数据绑定事件中编写了这行代码。但是我怎么能从后面的代码设置列属性

1 个答案:

答案 0 :(得分:0)

尝试更改此代码

bfield.PropertiesTextEdit.DisplayFormatString = "N2";

this.PropertiesTextEdit.DisplayFormatString = "N2";

我认为这会发生因为循环对象(创建一个新对象)并且属性将被覆盖。

CMIIW