2011-10-20 55 views
2

有誰知道我可以如何格式化DevExpress ASPxGridView中的列。我擁有的是一個XML文件,每天從xml文件生成。我想要做的是爲特定值格式化列,例如,包含度量值的列,如果這些列未填充(即1.2到1.200),我想添加尾隨零。我只在ASPX頁面中遇到過例子,並在代碼中構建了我的列。請協助最簡單的解決方案或財產,謝謝。格式化DevExpress ASPxGridView中的列?

回答

5

在.aspx頁面,您可以做到這一點與0的小數位格式化你的列金額

<dx:GridViewDataTextColumn FieldName="YourFieldName" VisibleIndex="1" Name="Displayame"> 
     <PropertiesTextEdit DisplayFormatString="${0}" /> 
    </dx:GridViewDataTextColumn> 

在後面的代碼綁定CellEditorInitialize到的是定製的事件處理程序是這樣的:

ASPxGridViewData.CellEditorInitialize+=new DevExpress.Web.ASPxGridView.ASPxGridViewEditorEventHandler(ASPxGridViewData_CellEditorInitialize); 
protected void ASPxGridViewData_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e){ 
if (e.Column.FieldName == "YourFieldName") { 
    e.Editor.Value = string.Format("${0}", e.Value); 
}} 
+0

靈光嗨,我已經試過這種方法,即一個在後面的代碼,並沒有打這個代碼出於某種原因。有什麼我需要設置真實或什麼。 – Donny

2

無需在活動中進行。這是不完整的,當然,但你的想法:

void doStuff(){ 
    theGridView.DataSource = getDataSource(); 
    theGridView.DataBind(); 

    foreach(GridViewColumn gvc in theGridView.Columns) 
    { 
     String strSomeParamter = ""; 
     if(gvc.Name.Contains("$") 
      strSomeParameter = "currency"; 
     (gvc as GridViewDataTextColumn).PropertiesTextEdit.DisplayFormatString = getTextFormatStringBasedOnSomeParameter(strSomeParamter); 
    } 
} 

String getTextFormatStringBasedOnSomeParameter(String someParam){ 
    switch(someParam) 
    { 
    default: 
      return ""; 
    case "currency": 
      return "{0:c2}"; 
    case "percent": 
      return "{0:p2}"; 
    } 
} 
相關問題