FarPoint Spread ChildView子视图

有一种需求场景在很多地方都会用到,就是父子关系(头表和子表的关系),比如订单和订单明细。

做过winform的朋友第spread控件应该比较熟悉,或者了解。他的展示方式就通过一个关联关系就可以了,下面是关键代码:

 1         private void Form1_Load(object sender, EventArgs e)
 2         {
 3             DataSet ds = new DataSet();
 4 
 5             var dtParent = ds.Tables.Add("SAMPLE");
 6             dtParent.Columns.AddRange(new DataColumn[] { new DataColumn("Column1", typeof(string)) {Caption = "父节点"}, new DataColumn("Column2", typeof(int)) });
 7             dtParent.Rows.Add(new object[] { "Parent1", 0 });
 8             dtParent.Rows.Add(new object[] { "Parent2", 1 });
 9 
10             var dtChild = ds.Tables.Add("Child1");
11             dtChild.Columns.AddRange(new DataColumn[] {new DataColumn("Column1", typeof(string)) {Caption = "子节点"}, new DataColumn("Column2", typeof(int))});
12             dtChild.Rows.Add(new object[] { "Child1-1", 0 });
13             dtChild.Rows.Add(new object[] { "Child1-2", 0 });
14             dtChild.Rows.Add(new object[] { "Child1-3", 0 });
15             dtChild.Rows.Add(new object[] { "Child2-1", 1 });
16             dtChild.Rows.Add(new object[] { "Child2-2", 1 });
17             dtChild.Rows.Add(new object[] { "Child2-3", 1 });
18             
19             ds.Relations.Add("Relation1", dtParent.Columns["Column2"], dtChild.Columns["Column2"]);
20             
21             fpSpread1.ActiveSheet.DataSource = ds;
22 
23             fpSpread1_Sheet1.Columns[1].Visible = false;
24             for (int i = 0; i < fpSpread1_Sheet1.Rows.Count; i++)
25             {
26                 fpSpread1_Sheet1.GetChildView(i, 0).Columns[1].Visible = false;
27             }
28         }

 

原文地址:https://www.cnblogs.com/jonney-wang/p/6288215.html