【问题标题】:How to convert a value of "DataGridViewCheckBoxColumn" to "DataGridViewComboBoxColumn"如何将“DataGridViewCheckBoxColumn”的值转换为“DataGridViewComboBoxColumn”
【发布时间】:2014-12-10 05:57:30
【问题描述】:

我有 datagridview 用于显示每周工作或不工作。 首先,当我与数据集绑定时,它会选择自动类型为 checkboxColumn,因为数据集中的数据是布尔类型,如下所示。

但我需要将其更改为具有真假值的组合框复合

但它有一个问题,因为我无法添加项目“真或假”它错误“datagridviewcomboboxcell 值无效”。 而且我不想制作数据集来存储两个值。这是浪费。


注意:我会一步一步解释

这是我填写datagridview的数据库

我使用此查询来创建“weekly_scheduleTableAdapter”。它将选择每一天并标记(1 或 0)

                SELECT DISTINCT (SELECT  [nonworking_day_flag]
                                 FROM [dbo].[default_nonworking_days]
                                 WHERE [id] =1 ) AS Sun
                               ,
                                 (SELECT  [nonworking_day_flag]
                                  FROM [dbo].[default_nonworking_days]
                                   WHERE [id] =2 ) AS Mon 
                               ,........
                                  ....until Saturday....
                                    ....................
                FROM [dbo].[default_nonworking_days]

结果:

创建“weekly_scheduleTableAdapter”后,我只是将 datagridview 绑定到数据集。

它可以将数据填充到gridview(见上图)。但是,如果我需要将一个单元格更改为组合框,我该怎么办?

【问题讨论】:

    标签: c# sql-server vb.net winforms datagridview


    【解决方案1】:

    您无法将复选框列转换为组合框列。如果你想要一个组合框列,那么你必须添加一个组合框列。您需要在绑定之前添加列,无论是在设计器中还是在代码中,并设置该列的DataPropertyName 属性以告诉它要绑定到数据源的哪一列。如果你想要一个这样的例子,look here

    编辑:我没有首先阅读您的完整问题,但您似乎知道如何添加列。您不必将该列绑定到 DataSetDataTable 或其他任何内容。如果您愿意,您可以将其绑定到一个简单的自定义对象集合,或者您甚至可以直接添加到它的 Items 集合中,就像您可以添加常规的 ComboBox 控件一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      相关资源
      最近更新 更多