c# – 订购时使用的最佳清单
发布时间:2020-12-15 21:37:21 所属栏目:百科 来源:网络整理
导读:我在这里扩展我的问题 Dynamically Creating GridView并按照建议尝试不同的approch,但我再次陷入困境. 我有一个表来处理我的名字和键值的顺序. KeyNames:ID Int primary keyKeyName1 varchar(20)KeyOrder intKeyName2 varchar(20)KeyOrder int...KeyNameN va
我在这里扩展我的问题
Dynamically Creating GridView并按照建议尝试不同的approch,但我再次陷入困境.
我有一个表来处理我的名字和键值的顺序. KeyNames: ID Int primary key KeyName1 varchar(20) KeyOrder int KeyName2 varchar(20) KeyOrder int ... KeyNameN varchar(20) KeyOrder int 这些键表示要在gridview中显示的另一个表的名称和顺序.即: DocumentTable: ID int primary key PDF_Folder varchar(30) Key1value varchar(100) Key2value varchar(100) .. KeyNvalue varchar(100) 所以在我的gridview中,用户可以决定Keys的列名和值(我可能想要调用Key1“description”order 1和Key2“Names Mentioned”和order 2. 如果订单< 0然后它将不会显示在gridview中. 我坚持我将如何创建一个gridview来显示KeyNValue的每一列,其中colmn名称为KeyNameN,KeyOrderN的顺序为.. 解决方法
您将使用DataGridViewColumn的DisplayIndex属性来设置Order.
您将使用HeaderText属性来设置名称. 我看到你没有行,所以网格只有一行有很多列. 因此,假设您有一个名为MyGrid的网格,每个列都在一个名为MyEntityRecord的类中,您已将所有列放在列表中,并且您希望在用户单击按钮后显示数据,这里是一个要调用的示例代码来自Click事件. void ShowCustomGrid(List<MyEntityRecord> aList) { MyGrid.Columns.Clear(); MyGrid.Rows.Clear(); for(int loop=0;loop<aList.Count;loop++) { MyGrid.Columns.Add(new DataGridViewColumn(new DataGridViewTextBoxCell())); MyGrid.Columns[loop].Text=aList[loop].KeyName; if(aList[loop].KeyOrder<0) MyGrid.Columns[loop].Visible=false; } //Now that all columns have been added,change the display index for(int loop=0;loop<aList.Count;loop++) { if(aList[loop].KeyOrder>=0) MyGrid.Columns[loop].DisplayIndex=aList[loop].KeyOrder; } //Finally,put the values MyGrid.Rows.Add(); for(int loop=0;loop<aList.Count;loop++) { if(aList[loop].KeyOrder>=0) MyGrid.Rows[0].Cells[loop].Value=aList[loop].KeyValue; } } 如果我理解正确,这应该做你想要的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容