我有一个填充DataGridView
的方法(Win C#),如下所示,并在我的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 };
}
}
当我输入一个字符时,它会很好地搜索并更新网格视图中的数据,但按backspace清除文本框并开始新的搜索会引发以下异常:
在System.Data.Linq.dll中发生'System.ArgumentNullException‘类型的未处理异常“
值不能为空。参数名称: text
(备注:aski.Change(TxB_ProitirySearch.Text)
是一个防止在数据库中保存不需要的字符的类)
我想知道为什么solution1和2都不起作用。
有谁能帮帮我吗?
提前谢谢。
https://stackoverflow.com/questions/51469580
复制相似问题