У меня есть приложение winforms в C# с несколькими comboboxes
. эти comboboxes отображают данные из базы данных SQL. Я могу получить comboboxes для отображения данных в listview
, но я хочу фильтровать данные. Например, пользователь выбирает значение в combobox1, и результаты появляются, но когда он выбирает значение в combobox
2, будут отображаться только соответствующие значения с правилами от combobox1
. это как создание фильтра, но я не могу понять, как я могу взаимодействовать между списками. код у меня есть:C# использовать comboboxes для фильтрации данных sql
private void desempenho_SelectedIndexChanged(object sender, EventArgs e)
{
SqlDataAdapter sda = new SqlDataAdapter(@"select [desc],[enchimento],[compo] from vidros where desempenho = @emp", con);
sda.SelectCommand.Parameters.Add("@emp", SqlDbType.NVarChar).Value = desempenho.Text;
DataTable DTT = new DataTable();
sda.Fill(DTT);
listView1.Items.Clear();
for (int i = 0; i < DTT.Rows.Count; i++)
{
DataRow dr = DTT.Rows[i];
ListViewItem listitem = new ListViewItem(dr["desc"].ToString());
listitem.SubItems.Add(dr["enchimento"].ToString());
listitem.SubItems.Add(dr["compo"].ToString());
listView1.Items.Add(listitem);
}
}
private void valu_SelectedIndexChanged(object sender, EventArgs e)
{
SqlDataAdapter SDA2 = new SqlDataAdapter(@"select [desc],[enchimento],[compo] from vidros where valu = @emp2", con);
SDA2.SelectCommand.Parameters.Add("@emp2", SqlDbType.NVarChar).Value = valu.Text;
DataTable DTT2 = new DataTable();
SDA2.Fill(DTT2);
listView1.Items.Clear();
for (int i = 0; i < DTT2.Rows.Count; i++)
{
DataRow dr = DTT2.Rows[i];
ListViewItem listitem = new ListViewItem(dr["desc"].ToString());
listitem.SubItems.Add(dr["enchimento"].ToString());
listitem.SubItems.Add(dr["compo"].ToString());
listView1.Items.Add(listitem);
}
Это только для двух из Наримера, но когда я получаю это один работает все остальное будет просто.
Спасибо заранее,
Вместо того, чтобы повторять код SelectedIndexChanged в каждом случае, вы должны иметь один обработчик событий, который вы вызываете из каждой комбо, который анализирует значение всех комбо комбо и строит набор результатов из этих данных. – stuartd