我正在寻找一种格式化DataGridViewTextBoxColumn的方法,以便在数据绑定期间格式化数据表的值.例如,我有一个CompanyName属性,当数据绑定发生时,我需要从CompanyName获取前5个字母.
我可以挂钩不同的DataGridView事件(例如RowsAdded)并遍历所有行并执行操作,但我想找到更复杂的方法来执行此操作.由于我已决定使用数据绑定,因此循环数据并对其进行修改有点违背了数据绑定概念.
我所追求的是,如何做到如下,但添加自定义格式逻辑:
dataGridView1.Columns[colSomeDate.Index].DataPropertyName = "SomeDate";
colSomeDate.DefaultCellStyle.Format = "yyyy";
Run Code Online (Sandbox Code Playgroud)
我想我应该实现IFormatProvider,但我不太明白我应该如何实现它.
dataGridView1.Columns[companyName.Index].DataPropertyName = "CompanyName";
companyName.DefaultCellStyle.FormatProvider = new ShortText(); // ShortText should implement IFormatProvider
Run Code Online (Sandbox Code Playgroud) 基本上我有一个datagridview,它显示数据表中的数据。数据表中的每个单元格都是一个带有大约10个小数点的小数,如何使用datagridview将数据显示为2个小数点?
我已经尝试过了(我在其他问题中发现了什么):
for (int i = 0; i < this.dgvDynamics1.Columns.Count; i++)
this.dgvDynamics1.Columns[i].DefaultCellStyle.Format = "N2";
Run Code Online (Sandbox Code Playgroud)
但这不起作用
如果您需要更多信息,请告诉我
提前致谢