我有一个datagrid dgCompanies声明如下:
// bind the data to the datagrid
dgCompanies.PageSize = pageSize;
dgCompanies.DataSource = rdr;
然后我需要检查此数据网格中的记录:
int j = 0;
foreach (DataGridItem item in dgCompanies.Items)
{
HtmlGenericControl name = (HtmlGenericControl)item.Cells[j].FindControl("SpanTitle");
string drstring = name.InnerHtml.Trim();
if (checkingfunction(drstring))
{
//do removing record from datagrid.
I tried this: item.Cells.Remove(item.Cells[j]); but the result still there, don't see anything removed!
}
j = j + 1;
}
dgCompanies.DataBind();
如果条件满足,我怎样才能从datagrid dgCompanies
中删除该记录?
答案 0 :(得分:0)
我同意@Andrei,最好不要退回那些数据。否则,您将返回并搅拌不必要的数据。但是,如果您不能预先过滤数据,我想您可以添加一个css类" donotshow"到你的行(见How do I specify CSS classes for specific rows in a GridView?)。
然后使用jquery使用
$('.donotshow').hide();
同样,在这方面,您仍然将所有HTML返回到浏览器,这样会使您的页面大小超出必要的范围。此外,如果你使用它,使用这种方法可能会搞砸分页(例如,如果它说"行1-10和#34;,但隐藏了5行,那么看起来会很傻)。
希望这有帮助