【发布时间】:2016-10-01 04:44:38
【问题描述】:
我设法创建了主从细节,如附件图片所示。 gridControl1 由 2 个网格视图组成,MainView:gridView1(即主表:数据表名称:tableSalesOrder)和 InfoDetails(Level1):gridView2(即明细表:数据表名称:tableDetail)。
以下两个代码都成功用于双击事件。
gridView1.DoubleClick += gridView1_DoubleClick;
gridView2.DoubleClick += gridView2_DoubleClick;
我的问题:-
下面的代码是成功的,因为我的 gridView1.FocusedColumn.FieldName == "ItemCode"。
private void gridView1_DoubleClick(object sender, EventArgs e)
{
object obj;
string code;
if (gridView1.FocusedColumn.FieldName == "ItemCode")
{
obj = gridView1.GetFocusedRowCellValue("ItemCode");
if (obj == null) return;
code = obj.ToString();
PromptItemForm(code);
}
}
但是当我尝试使用 gridView2_DoubleClick(用于详细网格视图部分)时,我的 gridView2.FocusedColumn.FieldName == "DocNo" 或 gridView2.GetFocusedRowCellValue("DocNo") 无法获取详细网格部分的值。它只保持显示ItemCode,如何在详细网格视图部分获取以下2过程的值?
gridView2.FocusedColumn.FieldName == "DocNo"
gridView2.GetFocusedRowCellValue("DocNo")
我整晚都用谷歌搜索仍然找不到任何提示。需要师傅帮忙。 谢谢,
数据集和数据表,我通过下面的代码做的链接
orderData.Tables.Add(tableSalesOrder);
orderData.Tables.Add(tableDetail);
orderData.Relations.Add("InfoDetails", tableSalesOrder.Columns["ItemCode"], tableDetail.Columns["ItemCode"]);
DataRelation orderRelation = orderData.Relations["InfoDetails"];
gridControl1.DataSource = tableSalesOrder;
gridControl1.ShowOnlyPredefinedDetails = false;
检查gridView2列名称和值的代码,我的代码如下
GridView gridView2 = (GridView) gridView1.GetDetailView(gridView1.FocusedRowHandle, 0);
不幸的是,它出现了我无法解决的错误。只要我不单击其他主部分单元格,它就可以工作。将弹出错误对象消息;一旦我单击主部分的其他单元格,然后我返回单击我以前的详细信息单元格。
【问题讨论】:
标签: c# gridview devexpress