【发布时间】:2012-07-16 23:47:13
【问题描述】:
我在这里扩展我的问题Dynamically Creating GridView 并按照建议尝试不同的方法,但我又卡住了。
我有一个表来处理我的姓名和键值的顺序。
KeyNames:
ID Int primary key
KeyName1 varchar(20)
KeyOrder int
KeyName2 varchar(20)
KeyOrder int
...
KeyNameN varchar(20)
KeyOrder int
这些键代表要在网格视图中显示的另一个表的名称和顺序。即:
DocumentTable:
ID int primary key
PDF_Folder varchar(30)
Key1value varchar(100)
Key2value varchar(100)
..
KeyNvalue varchar(100)
因此,在我的网格视图中,用户可以决定键的列名和值(我可能想将 Key1 称为“描述”顺序 1,将 Key2 称为“提及的名称”和顺序 2。
如果 Order
我坚持如何创建一个网格视图来显示 KeyNValue 的每一列,其中列名 KeyNameN 和 KeyOrderN 的顺序..
【问题讨论】:
-
键名和文档表是如何连接的?
-
文档表有 Key1Value.. 到 Key20Value.. 这些是用户可以放置他们喜欢的任何值的值(他们在 key1value 中放置描述)。在 KeyNames 中,他们可以将该列命名为“Description”并将其排序为 1。因此 KeyNames 决定了在 gridview 中显示哪些列,以及列的名称。值存储在 KeyNValue..
-
作为副作用,我建议您更改此逻辑
if Order < 0 then it will not be displayed此逻辑当然可以,但您将 order 概念 与 display 概念混合在一起 显然它们是两个不同的东西。始终支持可读性和可维护性,如果您的实体中有一个名为Enabled或Visible的属性会更好。尊重单一职责原则,您的代码将变得易于阅读、编写和维护
标签: c# asp.net sql sql-server