- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我有一个客户表,包含客户记录,记录,每个记录都有一个customertype 字段。我还有一个 customertype 表,其中包含 customertype 字段的有效值。
我需要一个 WPF 来做 CRUD。 (创建、查看、更新、删除)。
显而易见的解决方案是使用 ComboBox,其 SelectedValue 属性绑定(bind)到 customertype 字段,其 ItemsSource 属性绑定(bind)到由 customertype 表的查询填充的列表。
问题是,除了你在练习中看到的那种简单问题之外,这不起作用。
当您查看或编辑具有不在 customertype 表中的 customertype 值的客户记录时,就会出现困难。这可能是错误发生的,也可能是因为 customertype 已被弃用并从表中删除。
在这种情况下,WPF 所做的是将 customertype 字段设置为 null,因为 SelectedValue 不在 ItemsSource 列表中。这是一个问题。
如果您只是查看,您应该看到表中的值,无论它是否在列表中。如果您正在编辑,您可以提出一个合理的论点,即您也应该显示表中的值,至少最初是这样,但如果您更改选择,您将无法获得您开始时的内容。
那么,有什么想法吗?这是一个几乎在我拥有的每个编辑/查看表单上都会出现的问题,所以我更喜欢在使用时相当干净的东西。 (也就是说,考虑到 XAML 中的复杂性选择,我需要处理这些字段之一的每个地方,或者支持我插入的 XAML 以处理这些字段之一的代码中的复杂性,我更喜欢后者。)
最佳答案
为此,我建议不要将您的 ItemsSource 直接绑定(bind)到 CustomerType 表的内容。相反,合并 Customer Type 表中 Customer Type 项目的 ItemsSource 以及存储在 Customer 记录中但 Customer Type 表中不存在的所有 CustomerType 值。一旦用户从查看进入编辑,更新集合以仅使用 CustomerType 表中的那些项目。当用户进入查看模式时,切换回合并的集合。
关于WPF/XAML - 允许 ComboBox 具有不在 ItemsSource 中的 SelectedValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10659195/
我正在尝试将 ComboBox SelectedValue 绑定(bind)到 string。 Binding 完美运行。但是,我的 ComboBoxItem 的 IsSelected 之一设置为 T
我有一个 WebForms 页面,上面有两个 DropDownList 控件,它们都包含 60-80 度的温度范围,一个用于加热,另一个用于冷却。它们在 .aspx 中声明为: 每个列表的值都使用
我有一个带有项目A,B,C,D,E的ComboBox。 用户选择后如何更改组合框的SelectedValue,因此,如果用户从列表项“A”中选择,则SelectedValue将为“D”(就像他自己选择
我在一个项目中使用 flex 4.0 和 ZK 框架。 我有 4 个状态,这些状态中有 3 个单选按钮组。 其中 2 个处于第一状态,其中 1 个处于第四状态。 我的问题是,我可以像这样获取前 2 个
问题很奇怪,我有一个组合框,它通过 DataSource 属性正确地填充了项目(它绑定(bind)到一个 bindingSource 项目,它包含一个显示成员和一个值成员),这是一个允许我选择供应商的
我在类中创建了一个组合框,并想为该组合框设置选定值。但是当我这样做时,selectedValue 保持为空,当我尝试设置 selectedIndex 时,我得到一个 ArgumentOutOfRang
我有一个连接到 ObjectDataSource 的 DropDownList。在我的页面加载中,我根据情况将 selectedvalue 设置为特定值。如何在我的方法 selectedindexch
我已经查看了一些解决方案,但对我来说还没有任何效果。 我正在为这个项目使用 MVVM,并且有一个无法设置 SelectedItem 属性的 ListView。 如果这是我的(简化的)XAML。
我在下拉列表方面遇到了一些问题,我需要将初始值传递给 View 模型,因此下拉列表将填充已选择的值。 据我所知(参见 this fiddle ): var additionalTravellersDe
我正在尝试根据查询字符串中传递的值来设置未绑定(bind)的 DropDownList 的值。这是我的代码: ListItem item = null; for (int x
对于我正在尝试构建的简单练习题,我的代码是这样的。我遇到了 Invalid Cast Exception. Specified Cast is not valid. public Form1() {
没有发布我的全部代码(我只是发布了有问题的脚本),我遇到了一个问题,似乎很多人都遇到过,但我的似乎没有响应其他推荐的修复程序。我在 VS2008 中使用 C#。 基本上我有一个组合框,当更改项目初始化
我有一个功能区组合框(MS Ribbon OpenSource 项目,.Net 4.0),它是数据绑定(bind)到我的 View 模型的属性,如下所示: XAML:
如果下拉列表在范围内,我如何设置下拉列表的选定值Gridview 和下拉列表在编辑时由 objectdatasource 填充按钮被点击? 我的应用发生了什么情况是下拉列表被填充但第一项始终显示为选定
drpDwnLstBillContact.SelectedValue = billContactId.ToString(); drpDwnLstRegContact.SelectedValue =
这段代码有什么问题? myComboBox.Items.Clear(); myComboBox.Items.AddRange(new string[]{"one","two"}); myComboBo
我整理了以下代码来演示我遇到的问题。 这是一个只有组合框的表单,在加载方法中使用从 LINQ 生成的数组填充组合框。 它设置了 DisplayMember 和 ValueMember。显示成员按预期工
我有一个在表单加载时填充的 ComboBox。我以数据集的形式从数据库中获取数据,并使用以下内容填充组合框。 checkBox4_combo.DataSource = ds.Tables[0].Def
所以我正在连接一个sql数据库。我有一个 asp.net 页面,当用户选择状态下拉列表并选择已关闭的值,然后单击更新票证按钮时,我需要它来更新表中的 Closed_date 列。 我的表有列 Clos
我正在尝试将对象添加到组合框中并使用 SelectedValue 属性来选择组合框中的项目,但它不起作用:SelectedValue 在作业。 class ComboBoxItem
我是一名优秀的程序员,十分优秀!