- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的C#代码如下
private void offHwyManufacturer_SelectedValueChanged(object sender, EventArgs e)
{
var offHwyManufacturerSelected = offHwyManufacturerComboBox.SelectedValue;
var query = "SELECT DISTINCT [EQUIPMENT TYPE] FROM ApplicationOffHwyData WHERE MANUFACTURER = '" + offHwyManufacturerSelected + "' ORDER BY [EQUIPMENT TYPE]";
using (var adaptor = new OleDbDataAdapter(query, ConnString))
{
var offHwyEquipmentTypeDataTable = new DataTable();
adaptor.Fill(offHwyEquipmentTypeDataTable);
offHwyEquipmentTypeComboBox.DisplayMember = "[EQUIPMENT TYPE]";
offHwyEquipmentTypeComboBox.ValueMember = "[EQUIPMENT TYPE]";
offHwyEquipmentTypeComboBox.DataSource = offHwyEquipmentTypeDataTable;
}
}
offHwyManufacturerComboBox 是第一个组合框,它会触发“SelectedValueChanged”事件(这会正确显示元素)
但是,在第二个下拉列表(设备类型)中,我得到的是 System.Data.DataRowView 而不是实际值。
我很清楚我需要分配一个 DisplayMember/ValueMember,我已经完成了,但它仍然没有给出正确的结果。
如果我手动运行该 SQL 命令(以“制造商”中的第一个选项为例),这就是结果
EQUIPMENT TYPE
Compactors
Crawler Tractors
Dozers
Drilling Equipment
Excavators
Farm Equipment
Forestry Equipment
Generators, Gen Set Engines
Hydraulic Controls
Industrial Engines
Integrated Toolcarriers
Lift Trucks
Loaders
Marine Engines
Marine Gear
Material Handlers
Motor Graders
Off-Highway Trucks
Paving Equipment
Pipelayers
Scrapers, Wheel Tractors
Telehandlers
Turbine Engines
Winches
Windrow Elevators
显然这只会返回一行,列名是'EQUIPMENT TYPE'
这是我的 WinForm 应用程序的屏幕截图。
我是不是很笨,还是漏掉了一些非常明显的东西?
最佳答案
唯一看起来奇怪的事情是 a) DisplayMember
和 Value Member
都使用字母数字字段和 b) 字段名称中的空格(即使您有将 [设备类型] 括在方括号中)。
所以第一个建议是像这样解决这两个潜在问题:
var query = "SELECT DISTINCT Id, [EQUIPMENT TYPE] AS EquipmentType FROM ApplicationOffHwyData WHERE MANUFACTURER = '" + offHwyManufacturerSelected + "' ORDER BY [EQUIPMENT TYPE]";
using (var adaptor = new OleDbDataAdapter(query, ConnString))
{
var offHwyEquipmentTypeDataTable = new DataTable();
adaptor.Fill(offHwyEquipmentTypeDataTable);
offHwyEquipmentTypeComboBox.DisplayMember = "EquipmentType";
offHwyEquipmentTypeComboBox.ValueMember = "Id";
offHwyEquipmentTypeComboBox.DataSource = offHwyEquipmentTypeDataTable;
}
第二个建议是使用具有 DataSource = offHwyEquipmentTypeDataTable
的 BindingSource,然后将组合框的 DataSource 设置为 BindingSource,其 DisplayMember
设置为 value 和 值成员
设置为键。以下是大致的轮廓:
BindingSource bs;
...
var offHwyEquipmentTypeDataTable = new DataTable();
adaptor.Fill(offHwyEquipmentTypeDataTable);
bs.DataSource = offHwyEquipmentTypeDataTable;
offHwyEquipmentTypeComboBox.DisplayMember = "EquipmentType";
offHwyEquipmentTypeComboBox.ValueMember = "Id";
offHwyEquipmentTypeComboBox.DataSource = bs;
关于c# - ComboBox 返回 System.Data.DataRowView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36489056/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我有一个包含一些数据的网格(用户列表)。对于每一行,我有许多操作,例如更新、删除、激活、暂停、查看您命名的订单。 而不是放置如此多的按钮,这些按钮将填充超过 400-500像素 我想放置一个组合框,其
在我的一个对话框中,我有以下控制: 我在其他地方填充 ComboBox,如下所示: 但是,如果我没有创建 ComboBox 位,MSI 仍将构
我在项目中为 MVC 使用了 kendo complete。 我有某些形式的国家/地区列表,我显示国家/地区名称,但存储国家/地区代码。 我有以下问题:当用户输入不在列表中的内容时,该值将发送到服务器
我有一个组合框,其中的值是从托管 bean 填充的,如下所示: keywordlist.setConnDB("jdbc:sqlserver://xx.xx.x.xx:1433;DatabaseName
我有一个 ComboBox,它绑定(bind)到 ViewModel 中的复杂类型集合,这些类型的长度可以是任意数量,具体取决于用户的偏好。 我已经创建了一个基于 ComboBox 默认值的样式,并且
我做了一个转换器: public class BooleanToDateConverter implements Converter { private static final long s
编辑:由于 Rob 的回答,我已经更新了下面的代码,现在它可以工作了。 我找到了几页显示如何执行此操作的页面( http://www.cmcrossroads.com/content/view/131
我是 PyQT 的新手。 我有兴趣向 tableView 的每一行添加一个组合框。在 PyQT 4 中可能吗? 我知道,在 QT5 中是可能的,但不确定 PyQT。 预先感谢您的帮助。 最佳答案 如果
我对 JavaFX(8)、HBox、ComboBox 和 HGrow 有问题。 HGrow 不能与 ComboBox 结合使用。 (信息:使用 TextField (而不是 ComboBox),它按预
我有一个 XAML UserControl连接到 ImportPresenter View 模型。有四个ComboBox我的 XAML 中的项目: CashActivityTypeBAI CashAc
我将两个组合框绑定(bind)到同一个 listviewcollection。问题是在一个组合框中选择一个值会导致另一个组合框选定项更改为第一个组合框的确切值。它们是耦合的,我希望它们彼此独立。 My
我正在尝试在 extjs 3.4 中的组合框中的选项之间添加一行。我可以添加该行,但不能用我的远程位置的数据填充它。 (如果我删除修改的 tpl 选项,它就会填充)。 这是我的代码。我只需要在“组”字
我被 WIX 安装程序中的组合框和自定义操作困住了。 我有一个包含几个值的组合框(下拉菜单)。当用户从此下拉列表中选择一个值时,我想在屏幕上显示一些文本(对于下拉列表中的每个项目都是唯一的)。 在 .
我有 ComboBox cbx 和一个包含选项卡的 TabPane(选项卡:t)和一个按钮 b1。因此,单击此按钮 b1 时,它会在 TabPane 中添加一个新选项卡 t,并在包含以下内容的 Com
我有两个组合框:水果和饮料。 fruits 具有字符串:“apple”、“orange”、“banana” drinks 具有字符串:“water”、“coffee”、“juice” 如何制作一个新组
我必须监听什么事件,以便在用户从(可编辑的)WPF ComboBox control 中选择一个选项时得到通知? 我是否必须先访问 Items 属性才能收听 Items.CurrentChanged?
我有以下简单的 QML 组合框: import QtQuick 2.0 import QtQuick.Controls 1.4 import si.mikroelektronika 1.0 Item
当我创建组合框时,列表中没有项目。现在,当我单击下拉按钮时,会调用一个函数(通过 postcommand 选项),但是一旦在我的函数中,我不知道如何在组合框的列表框中设置值。 代码如下: #u
我有两个组合框 我使用 LINQ-to-Entities 来填充 cmbGroup 组合框 Dim db as myDataEntity cmbGroup.ItemsSource = db.Mak
我是一名优秀的程序员,十分优秀!