[英]How to remove values from valuemember in combobox?
The following code updates populates the combobox cmbBox1. 以下代码更新将填充组合框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];
I need help in figuring out how to remove few values to from the cmbBox1. 我需要帮助弄清楚如何从cmbBox1中删除一些值。 Do I remove values from the ValueMember/DisplayMember or is there any way to hide values in cmbBox1? 我是否要从ValueMember / DisplayMember中删除值,还是有什么方法可以隐藏cmbBox1中的值? Please advise 请指教
You can use DataView
您可以使用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;
I suggest using OracleDataReader in following way 我建议以以下方式使用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();
For removing items that contain specific value you could use: 要删除包含特定值的项目,可以使用:
cmbBox1.Items.Remove("yourText");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.