有一种需求场景在很多地方都会用到,就是父子关系(头表和子表的关系),比如订单和订单明细。
做过winform的朋友第spread控件应该比较熟悉,或者了解。他的展示方式就通过一个关联关系就可以了,下面是关键代码:
private void Form1_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet(); var dtParent = ds.Tables.Add("SAMPLE");
dtParent.Columns.AddRange(new DataColumn[] { new DataColumn("Column1", typeof(string)) {Caption = "父节点"}, new DataColumn("Column2", typeof(int)) });
dtParent.Rows.Add(new object[] { "Parent1", });
dtParent.Rows.Add(new object[] { "Parent2", }); var dtChild = ds.Tables.Add("Child1");
dtChild.Columns.AddRange(new DataColumn[] {new DataColumn("Column1", typeof(string)) {Caption = "子节点"}, new DataColumn("Column2", typeof(int))});
dtChild.Rows.Add(new object[] { "Child1-1", });
dtChild.Rows.Add(new object[] { "Child1-2", });
dtChild.Rows.Add(new object[] { "Child1-3", });
dtChild.Rows.Add(new object[] { "Child2-1", });
dtChild.Rows.Add(new object[] { "Child2-2", });
dtChild.Rows.Add(new object[] { "Child2-3", }); ds.Relations.Add("Relation1", dtParent.Columns["Column2"], dtChild.Columns["Column2"]); fpSpread1.ActiveSheet.DataSource = ds; fpSpread1_Sheet1.Columns[].Visible = false;
for (int i = ; i < fpSpread1_Sheet1.Rows.Count; i++)
{
fpSpread1_Sheet1.GetChildView(i, ).Columns[].Visible = false;
}
}