首页 新闻 搜索 专区 学院

C# Winform 生成的两个DatagridViewTreeViewSelectColumn列该怎么进行数据联动?

0
悬赏园豆:80 [待解决问题]

R2DatagridViewTreeViewSelectColumn treAss = new R2DatagridViewTreeViewSelectColumn();
treAss.Width = 150;
treAss.HeaderText = css.FEILD_CHNAME;
treAss.Name = "col" + css.FILED_NAME;
treAss.DataPropertyName = css.FILED_NAME;
treAss.OnlySelectLeaf = true;
treAss.OnlySelectEnabled = true;
treAss.IsTextBoxEnabled = false;
treAss.FindParentMode = RFindParentNodeMode.ParentID;
treAss.NodeCodeMember = "Code";
treAss.NodeIDMember = "Id";
treAss.NodeNameMember = "Name";
treAss.NodeParentIDMember = "Parent_id";
treAss.FindParentMode = RFindParentNodeMode.ParentID;
switch (css.TABLE_ELEMENT)
{
case "GFM_ASS_ELE_CARD_PERSON":
List<Person> userDepartList = new List<Person>();
//if (css.FEILD_CHNAME == "使用人")
//{
userDepartList = AgencyManage.Instance.AllPerList.OrderBy(a => a.Code).ToList();
//}
if (css.FEILD_CHNAME == "使用人" && (Global.userRoleId.ToString().Equals("6603") || Global.userRoleId.ToString().Equals("6501")))
{
userDepartList = userDepartList.FindAll(a => a.DEPARTMENT_ID.Contains(comeDepId));
}
List<Person> personList = userDepartList.ToList();
treAss.DataList = personList;
break;
case "GFM_ASS_ELE_DEPARTMENT":
treAss.OnlySelectLeaf = false;
List<Department> dtList = AgencyManage.Instance.DepListByRole;
comeDepId = dtList[0].Id.ToString();
treAss.DataList = dtList.OrderBy(a => a.Code).ToList();
break;}
treAss.Tag = css;
dgvAssetList.Columns.Add(treAss);
然后想如果选了使用部门,那么使用人就应该是该使用部门下的人员
然后我发现赋值是直接赋给一整列了

问题补充:

白鲟的主页 白鲟 | 初学一级 | 园豆:58
提问于:2019-05-10 19:19
< >
分享
所有回答(3)
0

1.告诉你一个笨拙而常见的方式:参见WPF中的INotifyPropertyChanged接口。
这样你就有了事件,剩下的就不用说了。

2.还有个很爽的办法——基于控件重写,就是把Item绘制直接基于 数据,编辑时去修改 原数据,完成后使重绘即可。

3.笨办法,定位,当然用引用定位最好,而不是索引。

方法1对于新手难度较小;
你这控件明显是第三方的,细节自己思考,追问基本不会有结果。

花飘水流兮 | 园豆:11008 (专家六级) | 2019-05-13 23:35
0

楼主可以去看下WPF中得数据绑定,这个可以完美解决你得问题

搬砖的L先生 | 园豆:24 (初学一级) | 2019-10-11 18:49
0

((grp.pt.control.R2DatagridViewTreeViewSelectCell)dgvAssetList.Rows[rowIndex].Cells["colUSE_USER_ID"]).DataList = listperson;
给单元格赋数据源

白鲟 | 园豆:58 (初学一级) | 2020-03-19 11:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册