【发布时间】:2012-04-15 08:17:09
【问题描述】:
我有一个表单,它在创建时会进行此查询
public IQueryable<PatientInfo> showMyPatients()
{
DbClassesDataContext myDb = new DbClassesDataContext(dbPath);
var patientInfo = from patients in myDb.PatientInfos
where patients.Phy_ID == physcianID
select patients;
return patientInfo;
}
一旦我调用它,我会将它插入一个变量并在此处将其作为参数传递
public void fillDataGrid(IQueryable<PatientInfo> patients)
{
dgvMyPatients.DataSource = patients;
}
听起来很简单吧?但是当我运行这个查询时
private IQueryable<PatientInfo> searchPatient()
{
DbClassesDataContext myDb = new DbClassesDataContext(dbPath);
var search = from myPatients in myDb.PatientInfos
where (myPatients.Pat_ID == patient_ID && myPatients.Pat_First_Name.Contains(txtSearch.Text)) ||
(myPatients.Pat_ID == patient_ID && myPatients.Pat_Last_Name.Contains(txtSearch.Text)) ||
(myPatients.Pat_ID == patient_ID && myPatients.Pat_Middle_Name.Contains(txtSearch.Text))
select myPatients;
return search;
}
并将其作为参数传递给fillDataGrid(),即使该查询有结果,DataGrid 也会有一个空白值
BindingSource bs = new BindingSource();
bs.DataSource = searchPatient();
dgvMyPatients.DataSource = bs;
注意:两个查询都返回 PATIENTINFO,我将插入同一个 DataGrid
【问题讨论】:
-
我自己找到了答案,回答我自己的问题合法吗?
标签: c# .net winforms datagridview datasource