Как удалить значения из valuemember в выпадающем списке?
Следующие обновления кода заполняют комбинированный список cmbBox1.
OracleDataAdapter oraAdapter = new OracleDataAdapter(oraCmd);
DataSet oraDataSet = new DataSet();
oraAdapter.Fill(oraDataSet);
cmbBox1.ValueMember = oraDataSet.Tables[0].Columns["Val1"].ToString();
cmbBox1.DisplayMember = oraDataSet.Tables[0].Columns["Disp1"].ToString();
cmbBox1.DataSource = oraDataSet.Tables[0];
Мне нужна помощь в выяснении, как удалить несколько значений из cmbBox1. Удалить значения из ValueMember/DisplayMember или есть ли способ скрыть значения в cmbBox1? пожалуйста, порекомендуйте
2 ответа
Решение
Ты можешь использовать DataView
DataView dv = oraDataSet.Tables[0].DefaultView;
dv.RowFilter = "Code NOT IN (1,2,3)";
cmbBox1.ValueMember = oraDataSet.Tables[0].Columns["Val1"].ColumnName;
cmbBox1.DisplayMember = oraDataSet.Tables[0].Columns["Disp1"].ColumnName;
cmbBox1.DataSource = dv;
Я предлагаю использовать OracleDataReader следующим образом
con.Open();
var cb1 = new OracleCommand(string, con);
OracleDataReader dr1 = cb1.ExecuteReader();
while (dr1.Read())
{
cmbBox1.Items.Add(dr1["Val1"] + ", " + dr1["Val2"]);
// no need to assign DisplayMember and ValueMember
}
dr1.Close();
dr1.Dispose();
con.Close();
Для удаления элементов, которые содержат определенное значение, вы можете использовать:
cmbBox1.Items.Remove("yourText");