【发布时间】:2015-06-15 13:33:33
【问题描述】:
当我想将值放入从选中列表框中选择的数组中时。然后说:
messagebox.show(values[0]);
意思是:System.Data.DataRowView
这是我当前的代码:
string[] itemArr = new string[clbTables.CheckedItems.Count];
int counter = 0;
foreach (object item in this.clbTables.CheckedItems)
{
string temp = Convert.ToString(item);
itemArr[counter] = temp;
counter++;
}
MetroMessageBox.Show(this, itemArr[0].ToString());
我在这里做错了什么>?
编辑::
clbTables.DataSource = sqlDisplayContent.connectDataTable("SELECT ('Tafelnr: '+ CONVERT(varchar,tafelnr)+' Zitplaatsen: '+ CONVERT(varchar,zitPlaatsen)) AS dispValue,tafelnr FROM tabel");
clbTables.DisplayMember = "dispValue";
clbTables.ValueMember = "tafelnr";
class sqlDisplayContent
{
public static DataTable connectDataTable(string query)
{
SqlCommand comm= sqlCrud.returnSqlCommand(query);
SqlDataAdapter sda = new SqlDataAdapter(comm);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
Thankss
【问题讨论】:
-
我在你的代码中没有看到
messagebox.show(values[0]);... -
您将整个对象作为项目返回(而不是对象文本值)
-
这里有一个很好的例子:msdn.microsoft.com/en-us/library/…
-
item 是 System.Data.DataRowView 而 ToString() 是 System.Data.DataRowView
-
你应该把
object item in this.clbTables.CheckedItems改成var item in this.clbTables.CheckedItems
标签: c# checkedlistbox