我的 ultrawingrid 中有一个字符串列,其中包含整数数据。我需要在该列上使用千位分隔符。但是,当我使用格式属性时,我意识到它不适用于字符串列。
有人知道该怎么做吗?
我的 ultrawingrid 中有一个字符串列,其中包含整数数据。我需要在该列上使用千位分隔符。但是,当我使用格式属性时,我意识到它不适用于字符串列。
有人知道该怎么做吗?
您需要将 IDataFilter 派生类与列的 Editor.DataFilter 属性相关联。例如,假设您有一个名为“NumberCode”的字符串类型的绑定列,将此代码放在网格的 InitializeLayout 事件中
UltraGridColum cl = e.DisplayLayout.Bands[0].Columns["NumberCode"];
cl.Editor.DataFilter = new ThousandSeparator();
然后创建一个实现接口 IDataFilter 的简单类,如下所示:
public class ThousandFormatter : IEditorDataFilter
{
public ThousandFormatter()
{ }
public object Convert(EditorDataFilterConvertArgs conversionArgs)
{
if (conversionArgs.Direction == ConversionDirection.OwnerToEditor)
{
UltraGridCell cell = conversionArgs.Context as UltraGridCell;
if (cell != null && cell.Column.Key == "NumberCode")
{
conversionArgs.Handled = true;
decimal dValue = System.Convert.ToDecimal(conversionArgs.Value);
return dValue.ToString("#,##0");
}
}
return conversionArgs.Value;
}
}