工具提示跳过数据网格中的行时出现问题

本文关键字:问题 数据 数据网 网格 工具提示 | 更新日期: 2023-09-27 18:35:03

private void datagridSignal_MouseMove(object sender, MouseEventArgs e) 
{         this.toolTip.Hide(datagridSignal);         
this.toolTip.RemoveAll();         
DataTable dt = GetSignalTable();         
DataView dv = new DataView(dt);         
Point prop = new Point(e.X, e.Y);         
System.Windows.Forms.DataGrid.HitTestInfo myHitTest;                 
myHitTest = datagridSignal.HitTest(prop.X, prop.Y);         
this.toolTip.SetToolTip(datagridSignal, " ID = '" + (int)dv[myHitTest.Row][0] + "'  '" + myHitTest.Row + "'"); 
} 

这是我到目前为止的代码,不幸的是它没有提供准确的结果......由于某种原因,即使显示正确的索引,它也会随机混淆 ID 的顺序。

使用数据网格

,而不是数据网格视图

Visualstudio2005 环境中的 Visual C# 2.0

编辑:

private void dataGridSignal_MouseMove(object sender, MouseEventArgs e)
{
  this.toolTip.Hide(dataGridSignal); 
  this.toolTip.RemoveAll(); 
  System.Windows.Forms.DataGrid.HitTestInfo myHitTest;  
  myHitTest = dataGridSignal.HitTest(e.X, e.Y);
  this.toolTip.SetToolTip(dataGridSignal, " ID = " + ((int)this.GetTable().Rows[myHitTest.Row][0]).ToString() + " "+ myHitTest.Row.ToString());
}

工具提示跳过数据网格中的行时出现问题

我无法复制它。 这对我有用:

void dg_MouseMove(object sender, MouseEventArgs e) {
  this.toolTip1.Hide(dg);
  this.toolTip1.RemoveAll();
  System.Windows.Forms.DataGrid.HitTestInfo myHitTest = dg.HitTest(e.X, e.Y);
  if (myHitTest.Row > -1) {
    this.toolTip1.SetToolTip(dg, "Over " + dt.Rows[myHitTest.Row][0].ToString());
    this.Text = "Over " + dt.Rows[myHitTest.Row][0].ToString();
  }
}

我只能猜测数据网格使用的数据源与来自GetSignalTable的数据源不同。 在我的示例中,dt是我的 DataGrid dg 正在使用的数据表。