Ultrawingrid に、整数データを含む文字列列があります。その列で千区切り記号を使用する必要があります。しかし、format プロパティを使用したときに、文字列列では機能しないことに気付きました。
誰かがそれを行う方法を知っていますか?
Ultrawingrid に、整数データを含む文字列列があります。その列で千区切り記号を使用する必要があります。しかし、format プロパティを使用したときに、文字列列では機能しないことに気付きました。
誰かがそれを行う方法を知っていますか?
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;
}
}