今天跟着视频学习C#ListBox控件的时候发现ListBox控件中每个项都有两个值,
一个是显示的值:DisplayMember
一个是隐藏的值:ValueMember
以前没注意这些,有可能是这要和数据库绑定用的,以前没这么用过.
现记录下它们的用法
打开数据库获得数据到表DatatTable中,在绑定到ListBox控件的DataSource中
设置DisplayMember要显示的列名的值
设置ValueMember要保存的列名的值
string sql = string.Format("select mID,mName from {0} where mName like '%{1}%' order by mName asc", WJ_TABLE_NAME, txtFindName.Text);
MyDBAdo ado = new MyDBAdo();
ado.OpenConn(ConnString);
DataTable dt = ado.GetDataTable(sql);
ado.CloseConn();
listBox1.DataSource = dt;
listBox1.DisplayMember = "mName";
listBox1.ValueMember = "mID";
调用:
string sql = "select mFileText,mKaiSu,mYuYan from {0} where mID='{1}'";
sql = string.Format(sql, WJ_TABLE_NAME, listBox1.SelectedValue.ToString());
MyDBAdo ado = new MyDBAdo();
ado.OpenConn(ConnString);
OleDbDataReader dr = ado.GetDataRead(sql);
if (dr.Read())
{
ShowData(listBox1.SelectedValue.ToString(), dr["mKaiSu"].ToString(),
dr["mYuYan"].ToString(), dr["mFileText"].ToString());
}
ado.CloseConn();
string mid=listBox1.SelectedValue;