【发布时间】:2014-01-06 17:31:12
【问题描述】:
这是通过使用一些第三方组件(例如 C1)开发的。如您所见,这里有三种行...
Type 1. L0000000000000000420 - 这种行是从数据库中获取的。 (只读)
Type 2. Enter Amount - 这种行是供用户输入金额的。 (这个也可能在某些列中包含下拉列表)(仅在选中时可编辑)
Type 3. WHITE ROW- 这只是一个空白的只读行,以获得更好的外观和感觉。
我想知道是否可以在不使用任何第三方组件的情况下创建类似的 DataGridView? 我的想法是 .. 将数据库中的行提取到 DataTable 中,然后循环它... 我正在考虑在提取的每一行之后在 DataTable 中添加两个额外的空白行。
我还将添加一个列,该列的值例如 ,
A-(这是表示类型1)
B-(这是表示类型2)
C -(这是表示类型3)
一个
B
C .. 以此类推
然后我将在循环中检查行的类型,然后将该行的属性设置为只读/可编辑,相应的颜色属性。
但我不确定这是否可行。我不确定如何仅为 tpe 2 列添加ComboBox。因为如果我添加一个 ComboBox 列,它将显示在所有三行中。这可能吗?如果是的话,你能给我一些想法吗?在我提出一些更具体的问题之前,我需要知道如何做到这一点。谢谢。
【问题讨论】:
-
解决方案:使用 WPF。 winforms 是一项非常古老的技术,没有人再关心了,它不支持任何东西。您可以在 WPF 中使用大约 30 到 50 行 XAML 轻松创建类似的东西,而在 winforms 中需要多年的可怕黑客攻击。
-
恐怕没有足够的时间学习WPF。
-
您确定在 WinForms 中创建这种外观比学习 WPF 更快吗?
-
我认为,这是可能的,但它必须是“非绑定数据”,而是手动写入和读取数据。这将需要一些自定义编码。 WPF 并不容易学习。我的意思是,你需要一些经验才能使用 XAML 来发挥你的优势
-
@HighCore:WPF 并不是所有关于 GUI 问题的答案。只需回答问题,而不是大肆宣传 WPF。
标签: c# .net vb.net winforms datagridview