2012-05-21 194 views

回答

10

使用CustomDrawCell事件,如果你只是想只讀顯示單元。或者您也可以使用CustomColumnDisplayText Event

試試這個:

private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) 
      { 
       if (e.Column.FieldName == "Marks") 
       { 
        e.DisplayText = (((int)(Convert.ToDecimal(e.CellValue) * 100))).ToString() + "%"; 
       } 
      } 

另一種方式使用編輯器EditFormat和DisplayFormat財產。並設置後,這些屬性將其添加到GridView列:參考:How to format values shown in the XtraGrid

RepositoryItem textEdit; 
     private void AddGridRepositoryItem() 
     { 
      textEdit = new RepositoryItemTextEdit(); 
      textEdit.AllowHtmlDraw = DevExpress.Utils.DefaultBoolean.True; 
      textEdit.ReadOnly = true; 
      gridControl1.RepositoryItems.Add(textEdit); 

      textEdit.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; 
      textEdit.DisplayFormat.FormatString = "p"; 
      gridView1.Columns[0].ColumnEdit = textEdit; 

     } 

最簡單的方法是使用GridColumn.DisplayFormat屬性。

colPayment.DisplayFormat.FormatType = FormatType.Numeric; 
colPayment.DisplayFormat.FormatString = "p0"; 

希望這有助於..

+1

這正是我所期待的。 +1爲所有參考。 – Stavros

+0

不錯,這也讓我把百分數存儲爲byte/tinyint - 謝謝!否則GridControl不會解釋數據,因爲我想 - > 10%變成1000%:) – Prokurors

+0

爲什麼地球上這是公認的答案? – Aron

8

請使用以下方法:

colReabilitation.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; 
colReabilitation.DisplayFormat.FormatString = "p0"; 

相關鏈接:

+0

資本'P'將把它作爲'50的50%',如果你想利用規模'0 1'必須在格式中使用小'p'字符串.. –

+0

@NiranjanKala:謝謝。這是我的錯誤。我已經更新了我的答案。 – DmitryG

相關問題