【发布时间】:2015-05-06 09:22:59
【问题描述】:
我使用以下代码从 datagridview 中检索了一行(在 datagridview cellclick 事件中)
DataGridViewRow dtrow = gvUserFormStatus.Rows[e.RowIndex];
我尝试从 datagridviewrow 获取单元格值(第一个单元格)并使用以下代码转换为双精度
double x = (double)(dtrow.Cells[0].Value);
我遇到了错误 发生了“System.InvalidCastException”类型的未处理异常。
附加信息:指定的演员表无效。
这里是编写gridview的代码
SqlDataAdapter mydataadapter = new SqlDataAdapter("select * from user_table", myconnection);
DataSet mydataset = new DataSet();
mydataadapter.Fill(mydataset);
DataTable dtUserFormStatus = mydataset.Tables[0];
gvUserFormStatus.DataSource = dtUserFormStatus;
在 sql 中,此特定字段的数据类型是 nvarchar(10)
谢谢
【问题讨论】:
-
嗯,错误很明显,“Value”中的对象不是
double,它是不能转换为double的东西。你在你的行里放什么? -
该单元格中的值为 10.000
-
当然可以,但是类型是什么?这绝对不是双标。可能是一个字符串,或者别的什么?编辑您的问题并添加您在数据网格中输入值的方式。
-
嗨 Gimly...我刚刚添加了代码...让我知道这已经足够或需要任何其他信息...谢谢
标签: c#