图贴不会,请见谅!
出现红叉时,提示的错误框:错误提示框:尝试读取或写入受保护的内存,通常指示其他内存已损坏。报错的详细信息是:clipBounds, Rectangle bounds, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle)
   在 System.Windows.Forms.DataGridViewTextBoxCell.PaintPrivate(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, Int32 rowIndex, DataGridViewElementStates cellState, Object formattedValue, String errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts, Boolean computeContentBounds, Boolean computeErrorIconBounds, Boolean paint)
   在 System.Windows.Forms.DataGridViewTextBoxCell.Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, Int32 rowIndex, DataGridViewElementStates cellState, Object value, Object formattedValue, String errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)
   在 System.Windows.Forms.DataGridViewCell.PaintWork(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, Int32 rowIndex, DataGridViewElementStates cellState, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)
   在 System.Windows.Forms.DataGridViewRow.PaintCells(Graphics graphics, Rectangle clipBounds, Rectangle rowBounds, Int32 rowIndex, DataGridViewElementStates rowState, Boolean isFirstDisplayedRow, Boolean isLastVisibleRow, DataGridViewPaintParts paintParts)
   在 System.Windows.Forms.DataGridViewRow.Paint(Graphics graphics, Rectangle clipBounds, Rectangle rowBounds, Int32 rowIndex, DataGridViewElementStates rowState, Boolean isFirstDisplayedRow, Boolean isLastVisibleRow)
   在 System.Windows.Forms.DataGridView.PaintRows(Graphics g, Rectangle boundingRect, Rectangle clipRect, Boolean singleHorizontalBorderAdded)
   在 System.Windows.Forms.DataGridView.PaintGrid(Graphics g, Rectangle gridBounds, Rectangle clipRect, Boolean singleVerticalBorderAdded, Boolean singleHorizontalBorderAdded)
   在 System.Windows.Forms.DataGridView.OnPaint(PaintEventArgs e)
   在 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
   在 System.Windows.Forms.Control.WmPaint(Message& m)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.DataGridView.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.3053 (netfxsp.050727-3000)
    基本代码: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
EXCELINTOSQL
    程序集版本: 1.0.0.0
    Win32 版本: 1.0.0.0

解决方案 »

  1.   

    我只在dev gridcontrol中遇到这个问题,
    原来dataGridView也会出现这问题,,
    我当初出现这问题好像是字段格式有问题就报那错。。
      

  2.   

    请你检查在DGV上绑定的数据源,包括字段
      

  3.   

    http://yueqing.blog.163.com/blog/static/3208259200792944447196/http://social.msdn.microsoft.com/Forums/zh-TW/233/thread/f84d9097-1d2d-4e67-a4b8-0560917caaa3/
      

  4.   

    前段时间没事,就这几天 开始的,就是数据查询完后,在DGV显示完后,过一会,整个显示区一个大红叉
      

  5.   

    /**************************************************查询数据 **************************   */
            private void button2_Click(object sender, EventArgs e)
            {           string var1 = "select 制造令号,机型,箱号,产品编号,状态,发货单号,发货日期 from kd" +textBox1.Text+ " where ";
               // string var1 = "select * from kd"+textBox1.Text+ " where ";            if (textBox1.Text != "")
                {
                    if (checkBox1.Checked)
                    {
                        var1 += " 制造令号 = '" + textBox1.Text + "' and ";
                    }
                    if (checkBox2.Checked)
                    {
                        var1 += " 箱号 = '" + textBox3.Text + "' and ";
                    }
                    else
                    {
                        textBox3.Text = "";
                    }
                    if (checkBox3.Checked)
                    {                    var1 += " 产品编号 = '" + textBox4.Text + "' and ";
                    }
                    else
                    {
                        textBox4.Text = "";
                    }                int a;
                    a = var1.Length;
                    var1 = var1.Substring(0, a - 5);
                   // MessageBox.Show(var1);
                    try
                    {
                        sqlcon = new SqlConnection(strCon);//实例化数据库连接对象
                        sqlda = new SqlDataAdapter(var1, sqlcon);//实例化数据库桥接器对象
                        myds = new DataSet();//实例化数据集
                        sqlda.Fill(myds);//填充数据集
                        dataGridView1.DataSource = myds.Tables[0];//对DataGridView控件进行数据绑定
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());//显示错误信息
                    }            }
                else
                {
                    MessageBox.Show(this, "制造令号为必添项,不能为空值!!", "提示对话框", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
      

  6.   

    这个我们也偶尔会碰到;是数据绑定到Grid时出的错;主要原因索引或者什么越界导致;可以查一查这方面的问题;