Итак, я видел другие вопросы по этому поводу, но я не могу на всю жизнь заставить свою сетку форматировать мой поплавок как валюту. Вот мой простой проект, в нем есть элемент управления сеткой gridcontrol1 с 4 столбцами, я хочу, чтобы последний был валютой, а остальные 3 - строкой.
public partial class Form1 : Form
{
private DevExpress.XtraGrid.GridControl gridControl1;
private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
private DevExpress.XtraGrid.Columns.GridColumn gridColumn2;
private DevExpress.XtraGrid.Columns.GridColumn gridColumn3;
private DevExpress.XtraGrid.Columns.GridColumn gridColumn4;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ArrayList test = new ArrayList();
test.Add(new MyObject() { myCurrency = 1.5F, prop1 = "hi", prop2 = "hi2", prop3 = "hi3" });
gridColumn4.DisplayFormat.FormatString = "c";
gridColumn4.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
gridControl1.DataSource = test;
gridControl1.MainView.PopulateColumns();
gridControl1.RefreshDataSource();
}
}
public class MyObject
{
public string prop1 { get; set; }
public string prop2 { get; set; }
public string prop3 { get; set; }
public float myCurrency { get; set; }
}
Я пробовал строку формата «c», «c2», «N», «N2» и FormatType как пользовательского, так и числового, а также любую их комбинацию с тем же результатом, что и «1,5», указанный в поле. Я делаю что-то простое неправильно? Это не может быть так сложно!