过滤器表达式不计算为布尔型项,C#
我有一个组合框,填充了数据库的标题。过滤器表达式不计算为布尔型项,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);
}
}
但是,如果我选择一个非布尔类型列它得到这个错误:
“过滤器表达式的值不为布尔术语”
即使我做选择布尔列它只显示程序的名称。它似乎从数据库中获取了一些数据,因为它从数据库中的“真实”条目数显示正确数量的程序名称。
回答:
如果你想显示一列没有任何条件的内容,你不需要选择,但你刚刚超过
private void button3_Click_2(object sender, EventArgs e) {
listBox1.Items.Clear();
//name of column to display data from
var selectedColumn = comboBox1.Text.ToString();
//iterate through dataRow and display in listBox
foreach (DataRow row in aSH_ORDER_DBDataSet1.ASH_PROD_ORDERS.Rows)
{
listBox1.Items.Add(row[selectedColumn].ToString());
}
}
的DataTable.Select方法被用来当你的表中的行循环你需要过滤表格的内容,添加一些可以解析为布尔值的表达式。
DataRow[] result aSH_ORDER_DBDataSet1.ASH_PROD_ORDERS.Select("ColumnName = 'ColumnValue'");
在上面的例子中,我们看到列名'ColumnName'列中存在'ColumnValue'字符串的表行子集。
Select的其他有用用途与创建具有特定顺序的新表格有关。请参阅DataColumn.Select和DataTableExtensions.CopyToDataTable文档
以上是 过滤器表达式不计算为布尔型项,C# 的全部内容, 来源链接: utcz.com/qa/263560.html