首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从明细行获取数据

从明细行获取数据
EN

Stack Overflow用户
提问于 2013-12-29 04:55:09
回答 3查看 3.9K关注 0票数 0

如何通过双击从devexress gridcontrol的详细信息行获取数据。如果我关注的是子行,网格视图的双击事件就不能捕捉到。

我尝试过这种方法,但我的请求是通过双击来捕获数据

代码语言:javascript
复制
private void gcOperasyonlar_FocusedViewChanged(object sender, DevExpress.XtraGrid.ViewFocusEventArgs e)
        {
            if (e.View != null && e.View.IsDetailView)
            (e.View.ParentView as GridView).FocusedRowHandle = e.View.SourceRowHandle;
            GridView detailView = gcOperasyonlar.FocusedView as GridView;
            MessageBox.Show(detailView.GetFocusedRowCellValue("Kalip").ToString());  
        }

谢谢你的帮忙

EN

回答 3

Stack Overflow用户

发布于 2014-06-20 16:52:25

还有一种更简单的方法:

代码语言:javascript
复制
ColumnView cv = _gridControlxyz.FocusedView as ColumnView;

selectedRow row = cv.GetRow(cv.FocusedRowHandle)
票数 1
EN

Stack Overflow用户

发布于 2013-12-29 05:03:15

我在论坛上找到了这段代码,只要你的网格是不可编辑的(这样鼠标点击就不会激活可编辑字段),它就会很有用。

代码语言:javascript
复制
private void gridView1_DoubleClick(object sender, EventArgs e) {
    GridView view = (GridView)sender;
    Point pt = view.GridControl.PointToClient(Control.MousePosition);
    DoRowDoubleClick(view, pt);
}      

private static void DoRowDoubleClick(GridView view, Point pt) {
    GridHitInfo info = view.CalcHitInfo(pt);

    if(info.InRow || info.InRowCell) {
        string colCaption = info.Column == null ? "N/A" : info.Column.GetCaption();
        MessageBox.Show(string.Format("DoubleClick on row: {0}, column: {1}.", info.RowHandle, colCaption));
    }
}

http://www.devexpress.com/Support/Center/Question/Details/A2934

票数 0
EN

Stack Overflow用户

发布于 2013-12-31 20:00:49

假设您有两个网格视图(我猜您在网格控件中使用了网格视图):gvMaster和gvDetail。

您应该为gvDetail实现event DoubleClick,以实现所需的功能:

代码语言:javascript
复制
private void gvDetail_DoubleClick(object sender, EventArgs e) {
    var gv = sender as GridView; // sender is not gvDetail! It's an instance of it. You have as many as there are rows in gvMaster
    var row = gv.GetDataRow(e.FocusedRowHandle);  // or use gv.GetRow(e.FocusedRowHandle) if your datasource isn't DataSet/DataTable (anything with DataRows in it)
    MessageBox.Show(row["Kalip"].ToString()); 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20819290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档