我管理創建主要細節,顯示在附件圖像。 gridControl1包含2個網格視圖,MainView:gridView1(它是主表:數據表名:tableSalesOrder)和InfoDetails(Level1):gridView2(它是詳細表:數據表名:tableDetail)。C#如何獲取詳細信息gridView2(master-Detail)FocusedColumn.FieldName? (以編程方式)
下面的代碼對於雙擊事件都是成功的。
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);
不幸的是它得到了錯誤,我無法解決。它的工作提供了我不要點擊其他主節單元格。一個錯誤對象消息將彈出;一旦我點擊其他細胞在主節,我回去點擊我以前的細節單元格。
仍不明確的建議呢,這是我的示例代碼的想法來自http://stackoverflow.duapp.com/questions/28096968/how-to-get-a-cell-value-or-row -value-in-controlgrid-1-gridview -c-sharp -d不幸的是只能部分工作,我需要figure master-detail鏈接可能會漏掉導致問題,或者需要重新編碼 –
原因將得到解決,因爲gridView1.FocusedRowHandle有變化,我需要找到一個代碼,當我點擊任何行細節單元格時,它可以詳細說明哪一行是它的主人。 –