2012-05-21 37 views

Respuesta

10

caso Uso CustomDrawCell si sólo desea mostrar la celda de sólo lectura. o También puede usar el CustomColumnDisplayText Event.

Prueba esto:

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() + "%"; 
       } 
      } 

Otra forma de utilizar la propiedad Editor EditFormat y formatSalida. y después de ajustar estas propiedades se suman a la columna gridview: Ref: 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; 

     } 

La forma más sencilla es utilizar GridColumn.DisplayFormat propiedad.

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

Esperanza esta ayuda ..

+1

Eso es exactamente lo que estaba buscando. +1 para todas las referencias. – Stavros

+0

Agradable, y esto también me permitió almacenar porcentajes como byte/tinyint - ¡gracias! De lo contrario, GridControl no estaba interpretando los datos como yo quería -> 10 porcentajes convertidos en 1000% :) – Prokurors

+0

¿Por qué demonios es esta la respuesta aceptada? – Aron

8

Utilice el siguiente enfoque:

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

Enlaces relacionados:

+0

de capital 'P' la tratará como' 50 como el 50% ', si desea utilizar la escala de 0 a '1' la pequeña debe utilizar' p' en formato cadena .. –

+0

@NiranjanKala: Gracias. Es mi error. He actualizado mi respuesta. – DmitryG

Cuestiones relacionadas