DevExpress XtraGrid网格获取主、从表行列值的方法
作者:pengxiaolin 来源:evget 浏览:Loading...次 发布时间:2012-10-11 评论:0条
一、主从表的设置
DataTable dt = pb.GetItemInfoList(Port).Copy(); //返回一个TABLE dt.TableName = "ItemInfo"; ds.Tables.Add(dt); DataTable dt2 = pb.GetBuildingInfoList(Port).Copy(); //返回一个TABLE dt2.TableName = "BuildingInfo"; ds.Tables.Add(dt2); DataColumn keyColumn = ds.Tables["ItemInfo"].Columns["ITEMINFO_ID"]; DataColumn foreignKeyColumn = ds.Tables["BuildingInfo"].Columns["ITEMINFOID"]; ds.Relations.Add("itembuildinginfo", keyColumn, foreignKeyColumn); gridControl1.DataSource = ds.Tables["ItemInfo"];
二、获取主表的当前选择行的某一列(如第0列)
三、获取从表的当前选择行的某一列(如ID列)
这个时候再使用获取主表当前选择行的某一列的方法是不行的,因为所得到的seletedrowscount=0。使用如下方法得到:
在MASTER表的展开事件中得到detail有的view.然后就可以利用它了。例:
//主表的masterrowexpanded事件 private void gridView1_MasterRowExpanded(object sender, DevExpress.XtraGrid.Views.Grid.CustomMasterRowEventArgs e) { detailView = gridView1.GetDetailView(e.RowHandle, e.RelationIndex) as DevExpress.XtraGrid.Views.Grid.GridView; } //取得从表的当前行 int[] i = detailView.GetSelectedRows(); DataRowView dt = (DataRowView)detailView.GetRow(i[0]); //获得当前行某列的值可以使用 dt["列名"].ToString(); //获得当那个列的值。
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]
本文地址:http://www.devexpresscn.com/Resources/Documentation-273.html
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]
本文地址:http://www.devexpresscn.com/Resources/Documentation-273.html
评论列表
暂无评论
请谈谈你的看法 请使用IE或者Firefox浏览器,暂不支持Chrome!
慧都控件网为DevExpress界面控件的中国地区唯一正式授权经销商,正版控件销售公司,授权代理商,经销商及合作伙伴。
电话:400-700-1020
023-66090381
邮箱:sales@evget.com