我有一个方法(Win App C#)来填充DataGridView如下并在我的TxB_ProitirySearch_TextChanged事件中使用它:
void PrioFillGrid(bool IsSearching= false)
{
if (IsSearching)
{
var ddd = from p in db.PDP_Priorities
where p.PriorityTitle.Contains(aski.Change(TxB_ProitirySearch.Text))
orderby p.ID descending
select new { p.ID, Title = p.PriorityTitle };
if (ddd.Count() > 0) // Solution1
{
DG_Priority.DataSource = ddd;
}
if (ddd != null) // Solution2
{
DG_Priority.DataSource = ddd;
}
else
{
DG_Priority.DataSource = from p in db.PDP_Priorities
orderby p.ID descending
select new { p.ID, Title = p.PriorityTitle };
}
}
else
{
DG_Priority.DataSource = from p in db.PDP_Priorities
orderby p.ID descending
select new { p.ID, Title = p.PriorityTitle };
}
}
当我输入一个字符时,它会在 gridview 中很好地搜索并更新数据,但是按退格键清除文本框并开始新的搜索会引发此异常:
System.Data.Linq.dll 中发生类型为“System.ArgumentNullException”的未处理异常”
值不能为空。参数名称:文本
(注释:aski.Change(TxB_ProitirySearch.Text)是一个防止不需要的字符存入数据库的类)
我想知道为什么解决方案 1 和 2 都无济于事。
有人可以帮我吗?
蛊毒传说
当年话下
相关分类