问题标签 [datagridcomboboxcolumn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
126721 浏览

.net - 在 WPF DataGrid 中绑定 ComboBoxColumn 的 ItemsSource

我有两个简单的模型类和一个 ViewModel ...

...和一个简单的窗口:

ViewModel 设置为DataContextApp.xaml.cs 中的 MainWindow:

如您所见,我将ItemsSourceDataGrid设置GridItems为 ViewModel 的集合。这部分有效,显示名称为“Jim”的单个网格线。

我还想将ItemsSource每一行中的 ComboBox设置CompanyItems为 ViewModel 的集合。这部分不起作用:组合框保持为空,在调试器输出窗口中我看到一条错误消息:

System.Windows.Data 错误:2:找不到目标元素的管理 FrameworkElement 或 FrameworkContentElement。BindingExpression:Path=CompanyItems; 数据项=空;目标元素是“DataGridComboBoxColumn”(HashCode=28633162);目标属性是“ItemsSource”(类型“IEnumerable”)

我相信 WPF 期望CompanyItems成为一个GridItem不是这种情况的属性,这就是绑定失败的原因。

我已经尝试过使用 aRelativeSourceAncestorType这样的:

但这给了我调试器输出中的另一个错误:

System.Windows.Data 错误:4:找不到与引用'RelativeSource FindAncestor,AncestorType ='System.Windows.Window',AncestorLevel ='1''的绑定源。BindingExpression:Path=CompanyItems; 数据项=空;目标元素是“DataGridComboBoxColumn”(HashCode=1150788);目标属性是“ItemsSource”(类型“IEnumerable”)

问题:如何将 DataGridComboBoxColumn 的 ItemsSource 绑定到 ViewModel 的 CompanyItems 集合?有可能吗?

提前感谢您的帮助!

0 投票
1 回答
1295 浏览

wpf - Datagridviewcomboboxcolumn 让我抓狂

我有一个绑定到源的 wpf datagridview 源是手动从数据库填充的数据集

有一个datagridcomboboxcolumn

我已将列的项目源设置为数据集(DSGLAccounts.tables..etc),将 displaymemberpath 设置为列名“Account_ID”;

并且它成功显示了帐户列表但是当我在运行时选择一个项目时,当我导航到另一个单元格时,该单元格不会保留它并且只是消失了

现在我无法理解如何根据作为网格视图源的数据集(DSRegisters)使选择的索引等于某个值

我需要知道如何设置选定的索引我想我必须知道属性(SelectedItemBinding/SelectedValueBinding/SelectedValuePath)

这是表格

来自 wpf 表单的快照 这是我的愚蠢代码:)

这是后面的代码

在哪里

DSRegister 是一个数据集,包含应在数据网格上显示的记录 DSGLAccounts 是数据网格组合框应绑定到的数据集

同样,当我在运行时如我所说的那样,从组合框中选择一个值时,当我离开单元格时它不会保持销售,就好像它不可编辑一样

我是 wpf 的新手,需要帮助,如果有示例或类似的东西,那将非常有帮助

0 投票
1 回答
1525 浏览

wpf - 在 WPF DataGridComboBoxColumn DisplayMemberPath 中显示 2 个值

我有一系列对象表示 DataGridComboBoxColumn 中列出的一些数据点。设置 DisplayMemeberPath 属性我可以显示一个值,比如 x 坐标。我想做的是以'x,y'格式显示x和y坐标。关于如何做到这一点的任何想法?

0 投票
2 回答
28067 浏览

wpf - 使用 MVVM 绑定 WPF DataGridComboBoxColumn

我查看了各种 问题的答案,但没有设法将答案中的内容映射到我试图解决的问题。我已将其简化为以下代码(代表我试图实现的结果),并且基本上希望能够在未编辑行时Person.TitleId将其呈现为对应Title.TitleText的,并具有下拉菜单正确绑定,以便它TitleText在下拉列表中显示 s 并在其更改时将关联写TitleId回记录。Person

<DataGridComboBoxColumn>简而言之,为了实现这一目标,我应该投入什么?

应用程序.xaml.cs

主窗口.xaml

个人.cs

标题.cs

MainWindowViewModel.cs

ViewModelBase.cs

0 投票
2 回答
608 浏览

sql - 从 dataGridViewComboBoxColumn 中删除重复值

我曾经做过DataGridViewComboBoxColumnComboBoxDataGridViewComboBox的还不够好。我需要我ComboBox没有重复的价值观。这是一个例子:

苹果
黑莓
Chrome
苹果

我想删除多次出现的值。我怎样才能做到这一点?

这是我的代码:

0 投票
2 回答
380 浏览

wpf - wpf DataGridComboBoxColumn GroupStyle

无论如何要为 DataGridComboBoxColumn 设置一个 groupstyle 任何帮助请

谢谢

0 投票
2 回答
2713 浏览

c# - DataGridView ComboBox 从不填充

我在 DataGridView 中有一个列是 ComboBox,我无法填充它。我一遍又一遍地查看我的代码,这似乎是正确的,但不可能是因为 ComboBox 从未填充过。

这是我的代码。

首先,一个用于测试的静态 DataSource:

这只是为了显示 ComboBox 列的 DataPropertyName:

接下来,我正在提取数据,然后对于它的每一行,我向 DataGridView 添加一行并为新添加的行填充单元格。最后是我的 ComboBox 列,如您所见,我正在填充我的 DataSource、DisplayMember 和 ValueMember 属性。请注意最后三个注释掉的行,因为我什至尝试将静态值添加到单元格的 Item 集合中。两种方法都不起作用。所发生的只是前三列有数据,但 ComboBox 单元格从来没有任何数据。

我真的希望有人能看到我在这里缺少的东西。顺便说一句,我已经在设计器中创建了列。

谢谢。

0 投票
1 回答
845 浏览

wpf - WPF DataGrid ComboBoxColumn 未插入值

我有一个带有组合框列和两个文本框列的 WPF 数据网格。在我的测试用例中,加载屏幕时,集合中有两行与网格绑定。如果我更改任何单元格的内容,它会正确更新。但是,如果我向网格添加新行,当我更新组合框列中的值时,它不会在源集合中更新。文本框列虽然适用于新添加的行。列定义如下:

这是我的视图模型中的 PhoneNumbers 属性:

更新:这是我的电话号码类:

0 投票
1 回答
991 浏览

wpf - DataGridComboBoxColumn 动态绑定

我有一个带有组合框列的数据网格。我想将此列绑定到我在代码隐藏文件中动态生成的项目列表。数据网格的所有行在组合框列中都将具有相同的项目列表。我已经使用 ObjectDataProvider 完成了静态绑定,但我不确定如何动态地执行此操作。

任何帮助是极大的赞赏!

谢谢你,桑托什

0 投票
1 回答
4651 浏览

wpf - WPF DataGrid 中的 ComboBox 列,DataTable 为 ItemsSource

我有一个绑定到数据表的数据网格,带有一个 ComboBoxColumn。此列的 XAML 如下:


我的员工类:


作为网格项目源的 DataTable 包含一个“EmpId”列和一个“RepName”列。组合框填充了我所有的员工,当我做出选择时,它会反映在数据表中。但是,当屏幕加载时,默认情况下不会在组合框中选择当前分配的员工。我认为组合框的 SelectedValueBinding 属性会处理这个......我做错了什么?


澄清更新:
数据网格绑定到包含 EmployeeID 列的数据表。假设当屏幕加载时,表中有 EmployeeID 为 1、2 和 3 的三行。我需要第一行中的组合框列选择 EmployeeID 1,第二行选择 EmployeeID 2,并且第三行选择了 EmployeeID 3。