C# datagridview错误,拖动滚动条时系统报错System.ArgumentException:Parameters is not valid;

代码在下面,实现的功能是点击按钮Button1的时候,在DataGridView中显示查询到的数据;点击和显示都是没有问题的,但是在向右拖动滑块的时候,拖动4、5列的时候... 代码在下面,实现的功能是点击按钮Button1的时候,在DataGridView中显示查询到的数据;点击和显示都是没有问题的,但是在向右拖动滑块的时候,拖动4、5列的时候就会报错,不同的查询语句都会这样;

public partial class Form1 : Form
{
public DataTable AcctGroup(string sqltext)
{
string strSql = @"Data Source = SRVSHASQL01; Initial Catalog=AccountTemplate; User ID=appadmin; Password=N0v1terp";
SqlConnection con = new SqlConnection(strSql);
SqlCommand com = new SqlCommand(sqltext, con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
con.Open();
da.Fill(dt);
con.Close();
return dt;

}

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
this.dataGridView1.DataSource = AcctGroup(@"SELECT * FROM t_User");

}
}
而且报错窗口会出现好几次,关掉之后再出现,反复5、6次
展开
 我来答
阳光的雷咩咩
2014-01-22 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7874万
展开全部

也许和你的数据类型有关,举例如果你的某列数据类型是二进制的,或者某种空值,当拖动滚动条,需要显示,但是它不知道如何显示二进制数据,因此报错。试试如下代码解决空值错误

        //using System.Data;
        //需要自己添加事件
        private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
        {
            bool handle;
            if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.Equals(DBNull.Value))
            {
                handle = true;
            }
            else
                handle = false;
            e.Cancel = handle;
        }
追问
多谢,是这个原因;有一列数据是Image类型,所以报错了;已采纳;

另外问一下,对于这种Image类型,有什么办法处理吗?
追答
前面我看过northwind数据库,绑定后是可以直接看到图片的。不过存图片的时候有些文件格式和文件头什么的要考虑比较复杂,还有尽量避免空值呗。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式