在使用Infragistics.Win.UltraWinGrid.UltraGrid时,有时我们想在网格上进行双击操作。比如双击某一行来显示对应的明细数据。但是对于双击事件来说并没有提供对应的行信息。那么我们如何来判断用户双击某一行呢。这里我还是以代码来说明,相信大家都能明白
private void ultraGrid1_DoubleClick(object sender, System.EventArgs e)
{
//双击测试,察看当前双击地方是不是一行,如果是则弹出窗体
//获取当前双击点的位置
Point p=System.Windows.Forms.Cursor.Position;
//获取当前双击点在网格中所处的位置
p=this.ultraGrid1.PointToClient(p);
//获取双击点网格控件的元素
Infragistics.Win.UIElement oUI=this.ultraGrid1.DisplayLayout.UIElement.ElementFromPoint(p);
if(oUI!=null)
{
//判断双击点是不是行,也可能是列,如果网格控件选取方式不是设的选中整行的话。
Infragistics.Win.UltraWinGrid.UltraGridRow oRowUI = oUI.SelectableItem as Infragistics.Win.UltraWinGrid.UltraGridRow;
if(oRowUI !=null)
{
//如果选中的是行,则我们可以通行行的单元格来获取对应的信息
string s=oRowUI .Cells[0].Value.ToString();
}
}
}
博客介绍了在使用Infragistics.Win.UltraWinGrid.UltraGrid时,因双击事件未提供行信息,如何判断用户双击某一行。通过代码展示,获取双击点位置、在网格中位置及网格控件元素,判断是否为行,若为行则可获取对应单元格信息。
1662

被折叠的 条评论
为什么被折叠?



