panel2上的dataGrid2覆盖在Form1的dataGrid1的位置,两个dataGrid装入不同的两个表内容。现在的问题是,panel2隐藏后鼠标点击dataGrid1选中行时出错。
未处理的“System.IndexOutOfRangeException”类型的异常出现在 system.data.dll 中。
其他信息: 无法找到列 6。
代码如下
private void dataGrid1_MouseUp(objectsender,System.Windows.Forms.MouseEventArgs e)
{
System.Drawing.Point pt = new Point(e.X, e.Y); 
 
DataGrid.HitTestInfo hti = dataGrid1.HitTest(pt); 
 
if(hti.Type == DataGrid.HitTestType.Cell) 
 

 
dataGrid1.CurrentCell = new DataGridCell(hti.Row, hti.Column); 
 
dataGrid1.Select(hti.Row);
int aaa = dataGrid1.CurrentRowIndex;
DataRow myRow=myDS.Tables[0].NewRow();
myRow=myDS.Tables[0].Rows[aaa];
textBoxtm.Text=myRow[1].ToString();
textBoxspn.Text=myRow[2].ToString();
textBoxgg.Text=myRow[3].ToString();
comboBox1.Text=myRow[4].ToString();
numericUpDown1.Text=myRow[5].ToString();
textBoxsl.Text=myRow[6].ToString();
comboBox2.Text=myRow[7].ToString();
textBoxjj.Text=myRow[8].ToString();
textBoxsj.Text=myRow[9].ToString();

 

dataGrid2中没有定义MouseUp事件,是在菜单中用这两句将panel2隐藏,
panel2.Visible=false;
dataGrid2.Enabled=false;
我感觉在点击DataGrid1时好象是在点dataGrid2一样。因为列 6在dataGrid2中是没有的。这是为什么?