Я хотел бы выполнить поиск, который заполняет результат в Gridview с помощью LINQ.
Это код до того, как я использовал Linq, который отлично работает:
foreach (DataRow dr in dt.Select("Name like '" + txtSearch.Text + "%'"))
{
dtable.ImportRow(dr);
}
В своем коде linq я использовал bsUser
в качестве источника привязки.
private void txtSearch_TextChanged(object sender, EventArgs e)
{
string input = txtSearch.Text.Trim().ToLower();
if (input.Length <= 0) return;
IList<User> u = (bsUser.Filter? select?
.Where(x => (x.Name.ToLower().StartsWith(input)
&& (x.RoleId == (int)cbRole.SelectedValue))).ToList());
bsUser.DataSource = u;
}
У меня проблема в том, что если u
возвращает 0 строк, то у моего Gridview, привязанного к bsUser
, больше не будет данных. datasource.count() = 0
Может ли кто-нибудь дать мне обходной путь или совет, как мне справиться с этим?