基本上當我創建這個DataGridView中我有這樣的代碼來填充它的DataGridView更改數據源動態
public void fillDataGrid(IQueryable<PatientInfo> patients) {
dgvMyPatients.DataSource = patients;
dgvMyPatients.Columns["Pat_Last_Name"].DisplayIndex = 0;
dgvMyPatients.Columns["Pat_First_Name"].DisplayIndex = 1;
dgvMyPatients.Columns["Pat_Middle_Name"].DisplayIndex = 2;
dgvMyPatients.Columns["Pat_First_Name"].HeaderText = "First Name";
dgvMyPatients.Columns["Pat_Last_Name"].HeaderText = "Last Name";
dgvMyPatients.Columns["Pat_Middle_Name"].HeaderText = "Middle Name";
}
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;
}
所以,當我創建我的對象我只是這樣做
fillDataGrid(showMyPatients());
但是當我點擊按鈕我想將其內容更改爲類似於此查詢中的內容
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;
}
然後當我單擊m Ÿ按鈕它會這樣做,但它不會更新數據網格爲什麼? fillDataGrid(searchPatient());更新前
DataSource = null;
:
它是Windows窗體嗎? – 2012-03-31 17:14:54
是的,它是在Windows窗體 – user962206 2012-03-31 17:17:39
召喚「dgvMyPatients.Refresh」更新數據源 – 2012-03-31 17:26:15