正在筛选数据表编号列
本文关键字:编号 数据表 筛选 | 更新日期: 2023-09-27 18:29:33
我想通过包含数字数据的列来过滤数据表,我正在尝试以下操作:
string selected = colSelect.GetItemText(colSelect.SelectedItem);
if (filterText.Text.Length == 0)
{
data_table.DefaultView.RowFilter = string.Empty;
}
else
{
data_table.DefaultView.RowFilter = string.Format("Price Like '%{0}%'", filterText.Text);
我试着将第二个值转换为字符串,但没有成功,我得到了错误:
无法对System.Decimal和System.String 执行"Like"操作
输入的数据可以是任何数字或文本,但根据数据,只有相关的数值才会显示在过滤器中。
看起来Price
列是decimal
类型的,但您提供了一个string
,即filterText.Text
来过滤它。
一种解决方案可能是使用CCD_ 5,CCD_;
data_table.DefaultView.RowFilter = "CONVERT(Price, 'System.String') like '%" + filterText.Text + "%'";
我没有尝试过这个,但你可以将你的filterText.Text
解析为decimal
(如果它是有效的),并像这样使用它;
data_table.DefaultView.RowFilter = "Price Like '%" + decimal.Parse(filterText.Text) + "%'";
但正如我所说,我不能百分之百肯定第二个。