- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试在 DataGridView
中设置一些内容。看起来这应该很简单,但我遇到了麻烦。我想显示三列:
我希望能够从 TypeName
的所有可能值中进行选择。这是我的困境:
如果我将所有这些加载到一个 DataTable
并将 DataGridView
设置为 DataSource
,我可以显示现有的 TypeName
用于该记录,但组合框将不包含任何其他值。如果我将 DataGridViewComboBoxColumn
的 DataSource
设置为包含所有可能的 TypeNames
的单独 DataTable
,则现有值为不显示。
DataGridView
使用起来真的很烦人,因此无论是对此的解决方案还是可行的替代方案,我们都将不胜感激。
编辑:问题似乎是因为我想为 DisplayMember
和 ValueMember
设置一个单独的项目。以下工作,如果我不担心将 ID
设置为 ValueMember
:
var typeColumn = new DataGridViewComboBoxColumn
{
DataSource = typeList,
DisplayMember = "Type",
ValueMember = "Type",
DataPropertyName = "Type"
}
如果我执行以下操作,则会选择正确的类型,但无法更改组合框中的选择:
var typeColumn = new DataGridViewComboBoxColumn
{
DataSource = typeList,
DisplayMember = "Type",
ValueMember = "TypeID",
DataPropertyName = "TypeID"
}
如果我使用以下内容,我会在尝试填充时收到 FormatException
错误:
var typeColumn = new DataGridViewComboBoxColumn
{
DataSource = typeList,
DisplayMember = "Type",
ValueMember = "TypeID",
DataPropertyName = "Type"
}
编辑:typeList
是一个简单的 DataTable
,由以下内容填充:
SELECT DISTINCT IT.InsuranceTypeID, IT.[Type]
FROM InsuranceType IT
WHERE IT.ClientID = @ClientID
ORDER BY [Type]
最佳答案
我有一个类似的(我认为)问题,我的解决方案是设置 DataSource
对于 DataGridViewComboBoxColumn
之前设置 DataSource
对于 DataGridView
.
在我的例子中,我的数据源是 List<T>
和一个 BindingList<T>
分别但它应该与 DataTables 一样工作:
DataGridViewComboBoxColumn categoryColumn = (DataGridViewComboBoxColumn)_ItemsGrid.Columns["CategoryID"];
categoryColumn.DataSource = categories;
_ItemsGrid.DataSource = items;
关于c# - DataGridViewComboBoxColumn 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666461/
假设我拥有的数据是'valuenumber1'、'valuenumber2'、'valuenumber3'。 我有一个问题,如果'valueNumber2'或'valueNumber3'是一个问题,将
在我的 datagridview 中,当单击 datagridviewComboBoxColumn 以填充其下拉列表时,它没有显示我需要单击 2 次的下拉列表。第一次它只关注 datagridview
我有一本字典,它的键是三个字母的国家代码,值是国家的名称。 Dictionary CountryList=new Dictionary(); 我还有一个 DataGridView 和一个 DataTa
这个问题在这里已经有了答案: c# add a dgv row with a dataGridViewComboBoxCell (3 个答案) 关闭10 年前。 我有一个 DataGridView,
我正在使用带有 DataGridViewComboBoxColumn 的 DataGridView,我需要在组合框项的左侧添加图标。我目前正在使用 EditingControlShowing 事件以及
我正在使用 DataGridView 构建一个表,用户可以在其中从每个单元格的下拉列表中选择项目。为了简化问题,假设我有 1 列。我在设计器中使用 DataGridViewComboBoxColumn
我有一个带有几个 DataGridViewComboBoxColumns 的 DataGridView。 DataGridView 上有一个 CellEnter 事件处理程序,用于单击下拉组合框。 该
我正在尝试在 DataGridView 中设置一些内容。看起来这应该很简单,但我遇到了麻烦。我想显示三列: 代码ID 代号 带有 TypeName 的 DisplayMember 和 TypeID 的
在任何人将此标记为重复之前,请注意这与提出的问题不同 here , here和 here . 当您的 DataGridView 中有两个或多个 DataGridViewComboBoxColumn,并
嗨,我在运行时将数据绑定(bind)到 datagridview 组合框。但是我如何让它自动显示第一个项目呢?我无法从 DataGridViewComboBoxColumn 中找到 selectedi
我正在使用 DataGridView,它是使用设计器创建的,其中包含几列,包括 DataGridViewComboBoxColumn 列。 有点烦人的是我必须点击每个单元格两次甚至三次才能显示下拉列表
我创建了一个 DataGridView 对象,其中包含 DataGridViewComboBoxColumn 类型的列,以允许用户从下拉列表中选择值。例如,如果用户选择“高”,我想为组合框的背面着色。
我有一个 DataGridViewCobmoboxColumn那必须在屏幕的最右侧。单元格中的项目比单元格宽度宽,因此下拉列表也比单元格宽,因此用户可以看到顶部选择的内容。当列表下拉时,下拉列表的右侧
我试图用字符串列表填充 DataGridViewComboBoxColumn,然后根据它们在表单加载时的值选择其中一个。 人们认为这是一项简单的任务,但我就是做不对。 我正在用这样的字符串填充 Dat
我有一个 combobox 列的 datagridview。我填充组合框列。当我从组合框列中选择任何文本时,我需要在 for 循环中读取数据时获取值。 这里是dgFilter datagridview
假设我有两个表: work_hours work_hours_id | date | _project_id 1 1.2. 10 2
我有一个数据 GridView ,它是通过从 SQL 服务器获取数据来填充的。 gridview.Datasource = dataSet.Tables[0] -> 没问题。 在这个网格中,一列是 C
我正在编写一个小型应用程序来查看和编辑 mySQL 表。 我想将 ComboBox 输入放在 DataGridView 中,以从其他表中的外键中选择数据。 有什么方法可以做到吗? 到目前为止我只找到这
我需要检查某个值是否存在于 DataGridViewComboBoxColumn 中。问题是 DataGridViewComboBoxColumn.Items.Contains() 想要一个对象,我给
大家好,我已经将我的 datagridview 与 DataGridViewComboBoxColumn 绑定(bind)如下 DataGridViewComboBoxColumn clnStatus
我是一名优秀的程序员,十分优秀!