我有一個組合框,填充了數據庫的標題。過濾器表達式不計算爲布爾型項,C#
當用戶選擇一個標題時,我想在列表框中顯示該列的值。
我想這樣做。
private void button3_Click_2(object sender, EventArgs e)
{
listBox1.Items.Clear();
//name of column to display data from
var selectedColumn = comboBox1.Text.ToString();
//dataRow array of data
var selectedColumnItems = aSH_ORDER_DBDataSet1.ASH_PROD_ORDERS.Select(selectedColumn);
//iterate through dataRow and display in listBox
foreach (var columnItem in selectedColumnItems)
{
listBox1.Items.Add(columnItem);
}
}
但是,如果我選擇一個非布爾類型列它得到這個錯誤:
「過濾器表達式的值不爲布爾術語」
即使我做選擇布爾列它只顯示程序的名稱。它似乎從數據庫中獲取了一些數據,因爲它從數據庫中的「真實」條目數顯示正確數量的程序名稱。
重要信息在此處不存在。 comboBox1.Text的內容是什麼? (並且不要在字符串屬性上調用ToString,它是沒用的) – Steve
「它只是顯示程序的名稱」我猜這是'ASH_PROD_ORDERS'中項目類型的命名空間,因爲你添加了整個'columnItem' 。我認爲你需要在你的'listBox1'中設置一個'DisplayMember'或者使用'listBox1.Items.Add(columnItem.Name);'或者你想顯示的ash_prod_order的任何屬性。 –