Devexpress网格货币格式

时间:2014-12-12 17:22:14

标签: wpf grid wpfdatagrid

我正在使用Devxpress v13.1而不允许升级它。

我尝试从数据集中渲染devxpress网格。我希望$ 400.0000显示为$ 400.00并且无法使其工作。

我有以下代码 -

public MainWindow{
 DataSet TransactionList = GetDataFromXML();// Loads XML to DS
            TransactionGrid.ItemsSource = TransactionList.Tables[0];
            TransactionGrid.CustomColumnDisplayText += TransactionGrid_CustomColumnDisplayText; 

        }
void TransactionGrid_CustomColumnDisplayText(object sender, DevExpress.Xpf.Grid.CustomColumnDisplayTextEventArgs e)

        {
            if (e.Column.FieldName == "Amount1")
            {
                //e.Column.DisplayTemplate =
               e.DisplayText = String.Format("{0:0.00}", e.Value);

            }
        }

xaml代码 -

    <dxg:GridControl Name="TransactionGrid"        HorizontalAlignment="Left" Height="Auto" Width="Auto" >
                <dxg:GridControl.View >
                    <dxg:TableView AllowEditing="False"></dxg:TableView>
                </dxg:GridControl.View>
                <dxg:GridControl.Columns>
                    <dxg:GridColumn FieldName="Amount1" Header="Amount1" Width="80" >                  
                    </dxg:GridColumn>
           </dxg:GridControl.Columns>
            </dxg:GridControl

>

1 个答案:

答案 0 :(得分:0)

我使用TGrid_CustomColumnDisplayText事件来实现结果。试图实现StringFormat =“c2”在xaml级别没有工作。我不得不在xaml页面的构造函数中调用下面的语句。

TGrid.CustomColumnDisplayText += TGrid_CustomColumnDisplayText; 

活动如下─     void Tgrid_CustomColumnDisplayText(object sender,     DevExpress.Xpf.Grid.CustomColumnDisplayTextEventArgs e)      {               CultureInfo ciUsa = new CultureInfo(“en-US”);                 if(e.Column.FieldName ==“Amount”)                 {                     e.DisplayText = String.IsNullOrEmpty(e.Value.ToString())? String.Empty:String.Format(ciUsa,“{0:c2}”,Convert.ToDecimal(e.Value));                 }

        }