c# - 填充 ComboBox 的值和文本

标签 c# winforms linq combobox

我的表单上有一个名为 ddCoursescombobox。我试图用 LINQ 表达式加载它,但是当我运行程序时,combobox 显示的是我用 LINQ 语句加载的值 (COURSE_ID) 和文本 (COURSE_TITLE),而不是只是文本(我想要隐藏值、COURSE_ID)。

这是我的代码:

    private void LoadDropDowns()
    {
        var db = new DataClasses1DataContext();
        ddCourse.DataSource = (from c in db.COURSE_MASTERs
                               select new { c.COURSE_ID, c.COURSE_TITLE }).ToList();
    }

如何设置组合框每一行的值和文本?

我见过的其他示例使用了 DataTextFieldDataValueField 属性,但这些对我来说似乎不可用。

我是否在 using 语句中遗漏了一个允许我访问 DataTextFieldDataValueField 属性的引用?

这是我的“使用”语句:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

编辑:DataTextField 和 DataValueField 属性对我不可用。这是因为它们是 System.Web.UI 的一部分并且这是我正在使用的 winform 吗?

最佳答案

您需要先设置DisplayMemberValueMember:

var db = new DataClasses1DataContext();
ddCourse.DisplayMember = "COURSE_TITLE";
ddCourse.ValueMember = "COURSE_ID";
ddCourse.DataSource = (from c in db.COURSE_MASTERs
                        select new { c.COURSE_ID, c.COURSE_TITLE }).ToList();

关于c# - 填充 ComboBox 的值和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880534/

相关文章:

c# - 检查加载程序集的窗口是否打开

c# - 在 Umbraco 中使用 RenderMvcController 发布数据

c# - 如何在 C# 中将 SQL Left Join 查询转换为 Linq to Entity?

c# - MySql数据库中如何调用多个存储过程

c# - Winforms,如何以相同的形式分隔用户控件上的选项卡索引?

c# - 如何将文本添加到文本框并将其视为文本 block ?

c# - 如何使 TreeView 不可折叠?

c# - LINQ数据库

LINQ:字段不是引用字段

linq - 将字符串与包含中的拆分进行比较 - LINQ