我的表单上有一个名为 ddCourses
的 combobox
。我试图用 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();
}
如何设置组合框
每一行的值和文本?
我见过的其他示例使用了 DataTextField
和 DataValueField
属性,但这些对我来说似乎不可用。
我是否在 using
语句中遗漏了一个允许我访问 DataTextField
和 DataValueField
属性的引用?
这是我的“使用”语句:
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 吗?
最佳答案
您需要先设置DisplayMember
和ValueMember
:
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/