我有2個類:Doctor和Pacient。他們都有一個名爲codeM的字段。由於醫生有代碼,因此在創建Pacient對象時,在codeM字段中寫入醫生代碼時,可以將許多患者分配給該醫生。 (我的意思是在創建Doctor對象後已經選擇了他們的代碼M) private int codeM
Doctor和Pacient類中的字段定義。從列表框中選擇對象並將相關對象顯示到另一個列表框
和2種形式。在Form1中,我有一個Doctor對象列表,而在Form2中,我創建了一個Pacient對象列表,我在創建它之後將其轉移到Form1。由於以下原因:
在Form1中我有一個列表框,其中顯示醫生對象列表。該列表如下:List<Doctor> listDoctors = new List<Doctor>();
我從Form2傳遞給Form1的Pacient對象列表名爲listPacients
。
我有一個輔助列表框。我希望當我從listBox1中選擇一個Doctor對象時,將該醫生的屬性codeM與listPacients中的每個患者進行比較,以及在listBox2中向我顯示這些患者的codeM與醫生的codeM相同的匹配。
我甚至不知道從哪裏開始這件事情,但我對這個listBox1中的代碼,這與醫生
private void listBox1_doctors_SelectedIndexChanged(object sender, EventArgs e)
{
Doctor currentItem = listBox1_doctors.SelectedItem as Doctor;
foreach(Pacient p in listaPacienti2)
{
if(currentItem.CodM==p.CodM)
{
listBox2_pacienti.DataSource = new ObservableCollection<Pacient>(p);
listBox2_pacienti.DisplayMember = nameof(Doctor.NumeM);
listBox2_pacienti.ValueMember = nameof(Doctor.CodM);
listBox2_pacienti.SelectedIndex = 0;
}
}
//from this point on i'm stuck. Please tell me how to continue, and how to set dataSource to only show me the desired pacients
}
除非我遺漏了一些東西,一旦您選擇了Doctor,您需要通過調用patientListBox.DataSource = listPatients填充患者列表框。如果沒有更多的信息,你如何得到醫生的病人名單不是我們可以幫助你的。 – hoodaticus