首先,我必须说我是LINQ和WPF的新手。
我在数据库中有一个'学生'表,其中包含有关学生的信息(姓名,身份证等)。 我想获得有关在MainForm上的ListBox中选择的学生的信息。
var students = from s in db.Students select s;
listBox.DisplayMemberPath = "name";
listBox.ItemsSource = students;
我将有关学生的所有信息都放入var student
。我只希望在ListBox中显示学生的name
。有没有办法从id
获取var students
列的值而不查询数据库?
我的意思是这样的:
var id = listBox.SelectedItem.getValue("id");
答案 0 :(得分:0)
我想你想从学生表中检索数据。 我想获得有关在ListBox中选择的学生的信息。 所以我希望下面的代码对你有所帮助。
<强>代码强>
var students = from s in db.Students select s;
listBox.DataTextField ="name";
listBox.DataValueField = "student_id";
listBox.DataSource = students;
listBox.DataBind();
我希望它会对你有所帮助。
答案 1 :(得分:0)
我找到了解决方案以及我的代码无法按照我想要的方式运行的原因。
首先,解决方案非常简单:
只需定义一个来源:
var students = from s in db.Students select s;
StudentsListBox.ItemsSource = students;
现在我可以做一个简单的演员并检索信息:
var id = ((Student)StudentsList.SelectedItem).id_student;
此演员之前没有用,因为我将listBox仅绑定到一列:
var students = from s in db.Students select s.name;