如题。
我用这样的方式给dataview绑定数据
var list_s = db.Course
.Where(item => item.CourseName.Contains(txtForSearch.Text))
.Where(item => cboClass.SelectedIndex == 0 ? true : item.ClassID == Convert.ToInt32(cboClass.SelectedIndex))
.Where(item => cboTerm.SelectedIndex == 0 ? true : item.TermID == Convert.ToInt32(cboTerm.SelectedIndex));
// .Where(item => item.StartTime.Value == Convert.ToDateTime(StartDT))
//.Where(item => item.EndTime.Value == Convert.ToDateTime(EndDT))
//.Select(item => new
//{
// 课程号 = item.Id,
// 课程名 = item.CourseName,
// 任课教师 = item.Teacher,
// 上课地点 = item.ClassRoom
//});
var a = list_s.Select(item => item.Id);
var list = list_s
.Select(item => new
{
课程号 = item.Id,
课程名 = item.CourseName,
任课教师 = item.Teacher,
上课地点 = item.ClassRoom
});
this.dgvShow.ItemsSource = list;
然后,当我在selectionchange事件中提取gridview信息的时候,得到的结果总是空。
以下是我gridview中提取数据的代码段。
//DataGrid dg = dgvShow.SelectedItem as DataGrid;
// var cell = dg.CurrentItem;
// DataRow id = dgvShow.SelectedItems[0] as DataRow;
Course course = dgvShow.CurrentItem as Course;
int a = course.Id;
我尝试了好几种方法啊,都失败了。
现在唯一成功的方法是 我将数据表直接赋给gridview的数据源。
这样可以得到选取行的Id信息,但是数据表里冗余的数据和一些有外键关系的表的显示都出了问题,希望大家帮帮我。