【发布时间】:2017-02-21 12:19:18
【问题描述】:
我在 c# 中有一个带有 datagridview 的 winform 应用程序,女巫从 sql 数据库中获取它的值,但是当我从 de datagridview 中单击一行时,数据将显示在要编辑的文本框中。
问题是可以编辑的列之一是图像。
我可以上传图像并在数据网格中查看它,但是当我单击行标题以选择时出现错误:“格式不正确的输入字符字符串”
代码是:
private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString());
MemoryStream ms = new MemoryStream((byte[])dataGridView1.CurrentRow.Cells[2].Value);
pictureBox1.Image = Image.FromStream(ms);
desc2.Text = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();
tipo.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();
prumos.Text = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString();
}
提前致谢,
【问题讨论】:
-
您在哪一行得到异常?似乎和
Convert.ToInt32的关系比图片还多…… -
@OfirWinegarten 不幸的是,系统没有抛出异常。我只收到错误,表单关闭,我被发送回之前的表单。
-
@OfirWinegarten 我试图评论转换行,现在我收到错误:无法将 System.string 类型的对象关联到 System.byte
-
好的,所以首先向您的
dataGridView1_RowHeaderMouseClick添加一个try catch。显然,您在这里几乎没有问题。不同列的类型是什么? -
@OfirWinegarten 列的类型除了图片之外都是文本
标签: c# sql datagridview