我有一个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}"
,但徒劳无功
可能的原因是我在网格的数据绑定事件中编写了这行代码。但是我怎么能从后面的代码设置列属性
答案 0 :(得分:0)
尝试更改此代码
bfield.PropertiesTextEdit.DisplayFormatString = "N2";
到
this.PropertiesTextEdit.DisplayFormatString = "N2";
我认为这会发生因为循环对象(创建一个新对象)并且属性将被覆盖。
CMIIW