Fondamentalement quand je crée ce DataGridView J'ai ce code pour le remplirDataGridView Changer DataSource Dynamiquement
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;
}
Alors, quand je crée mon objet, je fais juste ce
fillDataGrid(showMyPatients());
Mais quand je clique sur un bouton Je veux changer son contenu à quelque chose comme dans cette requête
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;
}
Ensuite, quand je clique sur m Bouton y Il le fera, mais il ne met pas à jour le DataGrid. Pourquoi? fillDataGrid (searchPatient());
S'agit-il de formulaires Windows? –
oui il est sous forme de Windows – user962206
Appel 'dgvMyPatients.Refresh' après la mise à jour de la source de données –