Member 13777104 Ответов: 1

Как мы можем получить значения в combobox2 при выборе combobx1 с помощью C# ( у меня есть XML-файл)


Я получил значения в combobox1 из XML-файла ,если я выберу определенную больницу, мне нужно будет получить пользователей этой больницы в поле со списком.

Что я уже пробовал:

void MainFormLoad(object sender, EventArgs e)
		{		
			var response= new WebClient().DownloadString("http://192.168.0.74/hospitals.php?");;
			
			string myXmlfile=@"C:\Users\anusha\Documents\SharpDevelop Projects\Hospital Data\data.xml";
            DataSet ds = new DataSet();
			using (System.IO.FileStream fsReadXml = new System.IO.FileStream(myXmlfile, System.IO.FileMode.Open))
		    {
			   ds.ReadXml(fsReadXml);
		     }
			cmbHospitals.DataSource = ds.Tables[0];
			cmbHospitals.DisplayMember = "hname";
		}
		void CmbHospitalsSelectedIndexChanged(object sender, EventArgs e)
		{  
			cmbhusers.Items.Clear();
			if(cmbHospitals.SelectedItem.ToString()=="0")
			{
				cmbhusers.Items.Add("Created_by");
			}
			else
			{
				cmbhusers.Items.Add("file");
			}

1 Ответов

Рейтинг:
2

Maciej Los

Вы должны отфильтровать свои данные с помощью использования:
1. объект DataTable.Выберите Метод (Строка) (System.Data)[^]
2. Linq to DataSet[^] или Linq To Xml[^]

DataTable dt = (DataTable)cmbHospitals.DataSource;
DataTable dst = dt.Select(string.Format("hname='{0}'", cmbHospitals.SelectedItem.ToString())).CopyToDataTable();
cmbhusers.DataSource = dst;
cmbhusers.DisplayMember = "user";