【发布时间】:2014-10-06 18:51:37
【问题描述】:
我有一个使用 DataTable 作为数据源的 gridview。当我尝试对 RowFilter 字符串进行硬编码时,它运行良好,但是当我使用 GetFilterExpression() 时它不起作用。为什么?
我检查了 GetFilterExpression 返回的字符串并将其与 if 检查进行匹配,我发现它与我的硬编码字符串完全匹配。
var list = (List<ResaveBase>)listGridRows;
var dt = ToDataTable(list);
dt.DefaultView.RowFilter = GetFilterExpression(); //When hardcoding this, it works
gvwResavePositions.DataSource = dt;
gvwResavePositions.DataBind();
private string GetFilterExpression()
{
string filterExpression = String.Empty;
filterExpression = string.IsNullOrEmpty(txtPaperId.Text)
? string.Empty
: string.Format("strPaperId IN ({0})", txtPaperId.Text);
return filterExpression;
}
【问题讨论】: