问题标签 [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 投票
3 回答
17498 浏览

wpf - DataGridComboBoxColumn 单元格不显示所选项目文本?

我想知道如何让 DataGridComboBoxColumn 在不处于编辑模式时显示选定的项目文本?并且是否有可能使编辑模式下的组合框最初显示选定的项目文本?

这是我的 XAML:

0 投票
4 回答
26741 浏览

wpf - 如何在 WPF DataGrid 中实现可编辑的 DataGridComboBoxColumn

我想让用户能够编辑 WPF DataGrid 中的一些数据(来自 .net Framework 4.0)。“仪器”列应允许用户从静态列表中选择可用仪器或编写自由文本。我的 DataGrid 使用 MVVM 绑定到数据。我尝试了很多我在互联网上找到的解决方案,但没有一个能正常工作。这是我的代码:

下拉列表正确显示。可以使用任何文本编辑该字段,但在关闭自由文本的下拉菜单后,它将为 SelectedInstrument 设置空值。它仅适用于所选项目。我试图更改为 SelectedValueBinding,但它没有帮助。

如何正确执行此要求?有人可以在这里发布一个工作样本吗?

附加:订单是 ObservableCollection 订单具有字符串 Title、DateTime Ordered、字符串 SelectedInstrument 等属性,Instruments 是一个字符串 []

解决方案:以下建议作为Bathineni作品的解决方法:

0 投票
2 回答
929 浏览

c# - 在后面带有 DataView 的 WPF DataGrid 中,我们希望将 ComboBox 显示为标签,直到被点击

因此,我们有一个 WPF DataGrid,其中一些单元格中有一些 ComboBoxes 存在外部关系,但这意味着我们一次加载了数百个 ComboBoxes,这需要很长时间。我们想要做的是加载一个标签,直到它被点击,然后一个组合框被加载,我们可以很容易地用一个文本框来做到这一点。

问题是,我们的组合框工作并允许用户通过从多个显示值(例如 {Car, Dog, Cat})中进行选择来更改列中的外键值。但在用户点击标签之前,标签会显示外键值本身(例如{1, 2, 3})。

关于我们能做什么的任何想法?非常感谢任何帮助!

亲切的问候,河豚

0 投票
3 回答
4758 浏览

c# - 是否可以立即公开 DataGridComboBoxColumn?

加载数据网格时是否可以“暴露” WPF 工具包数据网格的 DataGridComboBoxColumn?默认情况下,您必须单击单元格以显示组合框。我希望用户无需单击单元格即可看到组合框可用。我希望组合框立即可用,并且第一次单击单元格会使组合框实际下拉。当前,您必须单击单元格,然后单击组合框下拉列表以显示值。

不想要的外观

VS

正确的外观

XAML:

代码背后:

谢谢,GAR8

最终解决方案:XAML

代码背后:

0 投票
3 回答
4803 浏览

wpf - 如何在 WPF DataGrid 中实现多列 ComboBox DataGridColumn?

我有一个简单的问题,我认为没有简单的解决方案。我的 WPF DataGrid 中的某些网格列需要一个多列组合框。是否有已知的最佳实践来实现这一目标?根据我收集到的内容,这将需要对 DataGridComboBoxColumn 进行子类化以支持自定义 ComboBox。

我找到了一些示例,但不支持 EF 实体(我使用的是 Code First EF)。

任何意见是极大的赞赏。谢谢

注意:这一切都是用 C# 动态完成的。我没有使用 XAML 来定义列。

更新:我所说的多列的意思很简单,当您放下组合框时,我需要为“显示”显示两个值,即使在幕后我当然仍然只是存储一个 ID。

看这里:。 多列下拉 http://www.telerik.com/ClientsFiles/188010_multicolumn-dropdown.JPG

除了我需要将其作为可以动态创建并添加到网格的 DataGridColumn 来执行之外,而不仅仅是图像中显示的简单组合。

更新我终于找到了一篇关于 CodeProject 的文章,作者根据我的 -exact- 要求开发了一个控件。它位于这里。现在我要解决的唯一问题是如何在使用实体框架时允许控件工作(特别是代码优先)。越来越近!

0 投票
0 回答
440 浏览

c# - DataGridViewComboBoxColumn UI 更新问题

我在使用 DataGridViewComboBoxColumn 更新 DataGridView 时遇到问题。当我设置 DataGridViewComboBoxColumnCell 的值时,它可以工作,但 UI 没有刷新。

我在控件上尝试了 Invalidate()、Refresh()。给它焦点,然后将焦点切换到另一个控件。当我在按钮事件中使用相同的循环时,它正在工作。

到目前为止我的代码:

我对两个 ZedGraphControls 有类似的行为。我实现了依赖缩放,并且仅当我第一次在两个控件中手动缩放时,绘图中的比例才发生变化。在我的 DataGridView 中也会发生同样的情况,例如当我手动更改列宽并再次调用该方法时,UI 会被刷新。

0 投票
2 回答
1828 浏览

c# - 如何更改 DataGridComboBoxColumn 样式?

我需要在“DataGridComboBoxColumn”上将边框样式更改为不可见...我该怎么做?我希望有另一种方法,然后更改为 datagridTemplate 并将组合框元素与我的风格放在里面......

0 投票
2 回答
5806 浏览

c# - C# DataGridView 组合框以编程方式添加数据

我有一个带有 DataGridView 的应用程序。其中一列是组合框类型。我想以编程方式为此组合框添加项目。这是我使用的代码:

然后,当我尝试添加一行时,我收到以下错误:“没有名称状态的字段”。我将错误翻译成英语,因为我有一个荷兰语错误。这是我用于添加行的代码:

有人可以帮我弄清楚我做错了什么吗?我找不到它。这是我第一次使用带有组合框的 DataGridView。

0 投票
1 回答
2866 浏览

c# - DataGridView 中的动态组合框

我有一个包含 4 列的 DataGridView,其中之一是下拉(组合框)列。此列中的值必须是不同的,因此一旦在一行中选择了给定的下拉值,我希望它在其他行的任何下拉列表中都不可用。如果未选择给定值,则它应再次显示在下拉列表中。我发现了一些具有类似示例的文章(123);但是,它们似乎都涉及订阅事件并手动填充 ComboBox。

  • 有没有办法仅通过数据绑定来实现这一点(可能是一个基本上是all.Except(selected)Linq 查询的 IEnumerable)?
  • 如果仅数据绑定还不够,有没有比我找到的示例更好的方法呢?

我对 WinForms 开发有点陌生,所以很难将好的建议与“是的......这会奏效,有点”区分开来。

0 投票
1 回答
282 浏览

wpf - 在 wpf 的数据网格中插入组合框

C#

XAML

现在的事情是我可以在加载时在组合框中看到名称...当我单击组合框时,下拉菜单会显示每个项目的 MainDataContext.Category...

当我单击任何下拉项目时..它选择正确的值并..在组合框中显示我...

当网格加载... 在我双击该列之后..