標籤:des style blog http os io ar 資料 2014
最近DEV搞的多,想把程式做得看起來專業點,所以稍微研究了一下。
本篇只記錄如何?在列表裡面點擊某一行可以開啟這一行關聯的子表內容。效果如下:
下面是實現過程:
1.設計器裡面:
在MainView下面建立一個EntryView(create a new level) 這樣這個gridControl裡面就有2個gridView了。
然後開啟你的設計器(Run Designer)
如果你只是測試,或者甲方對美醜沒要求時,對,你神馬都不需要設定了。
2.綁定資料
和正常的綁定一樣,gridControl.Datasource = DataSet.table[0];
不同的是,這個DataSet裡面要有2個表,table1和table2需要是主從表的關係(主表有個欄位是從表的外鍵,形成關係),比如:就不比如了,有點懶。
預存程序:
select OutStockPlan.* from T_OutStock_Plan as OutStockPlan where OutStockPlan.BillDate< @maxDate_Invo and OutStockPlan.BillDate> @minDate_Invo
select ospe.* from T_OutStock_Plan as osp
left join T_OutStock_Plan_Entry ospe on osp.OnlyID=ospe.VoucherID
where osp.BillDate< @maxDate_Invo and osp.BillDate> @minDate_Invo
一個預存程序同時返回2個表,第一條語句返回主表的行,第二條語句返回這些主表資訊對應的子表行。只要不嫌麻煩,你要分開執行也可以,我還是有點懶。
Access執行:
WMSDS relationDS = this._WMSAccess.Select_OutPlanAndEntry_Relation(dateS, dateE); //執行上面的預存程序,返回一個DataSet,包含table1和table2
DataRelation dr = new DataRelation("通知分錄", new DataColumn[] { relationDS.T_OutStock_Plan.Columns["OnlyID"] }, new DataColumn[] { relationDS.T_OutStock_Plan_Entry.Columns["VoucherID"] }); //new一個表關係,綁定2個表的鍵
relationDS.Relations.Add(dr); //添加表關係到dataset
前台綁定:
grid_VoucherPlanList.DataSource = relationDS.Tables["T_OutStock_Plan"]; //把主表當成datasource綁定給gridControl
收工。
DEV GridView嵌套