如何从代码后面设置 aspx(devExpress) 网格的列属性(准确地说是 DisplayFormatString)?
How can I set the column properties(DisplayFormatString to be precise) of a aspx(devExpress) grid from code behind?
我有一个 aspx(devexpress) 网格。我使用它从代码 behind.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}"
但徒劳无功
可能的原因是我在网格的数据绑定事件中编写了这行代码。但是我还能如何从
后面的代码设置列属性
尝试更改此代码
bfield.PropertiesTextEdit.DisplayFormatString = "N2";
至
this.PropertiesTextEdit.DisplayFormatString = "N2";
我认为发生这种情况是因为你循环对象(创建一个新对象)并且属性将被覆盖。
CMIIW
我有一个 aspx(devexpress) 网格。我使用它从代码 behind.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}"
但徒劳无功
可能的原因是我在网格的数据绑定事件中编写了这行代码。但是我还能如何从
后面的代码设置列属性尝试更改此代码
bfield.PropertiesTextEdit.DisplayFormatString = "N2";
至
this.PropertiesTextEdit.DisplayFormatString = "N2";
我认为发生这种情况是因为你循环对象(创建一个新对象)并且属性将被覆盖。
CMIIW