【发布时间】:2014-07-29 16:36:20
【问题描述】:
我正在尝试填写 telerik radDataGridView(同样的问题也发生在普通的 dataGridView 上)。
我的 db 表中的一列名为 [updateType]。
'type' 在枚举中描述:
public enum TypeEnum
{
INSERT = 0,
UPDATE_OR_INSERT = 1,
UPDATE = 2,
DELETE_OR_INSERT = 3
};
我正在 Load 事件中填充 dataGridView (dgv):
private void Form1_Load(object sender, EventArgs e)
{
this.table1TableAdapter.Fill(this.tempdbDataSet.Table1);
for (int i = 0; i < dgv.RowCount; i++)
{
switch ((int)dgv.Rows[i].Cells[2].Value)
{
case (int)TypeEnum.INSERT:
dgv.Rows[i].Cells[2].Value = "INSERT";
break;
case (int)TypeEnum.UPDATE_OR_INSERT:
dgv.Rows[i].Cells[2].Value = "UPDATE/INSERT";
break;
case (int)TypeEnum.UPDATE:
dgv.Rows[i].Cells[2].Value = "UPDATE";
break;
case (int)TypeEnum.DELETE_OR_INSERT:
dgv.Rows[i].Cells[2].Value = "INSERT/DELETE";
break;
default:
break;
}
}
}
但它失败了,当尝试将 string 值填充到 int 类型的 gridview 单元格时,
抛出异常输入字符串格式不正确。
感谢任何可以解决此问题的人。
【问题讨论】:
-
究竟在哪一行?
-
检查这一行:switch ((int)dgv.Rows[i].Cells[2].Value)。从数据库中获取的值似乎不是 int 类型。
-
我不明白。您有一个您知道属于
int类型的列,然后您尝试将string值填充到其中并且不明白为什么它不喜欢这样?跨度> -
如果 Telerik 的控件值得一试,它将支持列显示别名功能,您可以将单元格值设置为一个值,但设置不同的对应显示值。
标签: c# winforms datagridview telerik radgridview