【发布时间】:2014-07-09 14:29:08
【问题描述】:
我在 ascx 文件中有一个这样的数据网格声明:
<asp:datagrid id="dgCompanies" Width="100%" AllowSorting="True" DataKeyField="companyId" AutoGenerateColumns="False"
AllowPaging="True" AllowCustomPaging="True" OnPageIndexChanged="dgCompanies_Paging" Runat="server" onprerender="dgCompanies_PreRender" >
基本上,datagrid 是代码隐藏中的搜索结果:
// retrieve the matching company records
IDataReader rdr = Syntegra.Manufacturing.WMCCM.Companies.Companies.ListCompanies(dgCompanies.CurrentPageIndex, pageSize, CompanyList, CompanyNameStartsWith, ProcessSqlClause, SkillSqlClause, LocationClause, KeywordSqlClause, User, Status, SearchPortalId, false, sortColumn, sortDirection);
// highlight the sorted column
highlightSortColumn();
if (rdr.Read())
{
// calculate page details
_count = (int) rdr["companyCount"];
this.dgCompanies.VirtualItemCount = _count;
// move onto the next resultset
rdr.NextResult();
// bind the data to the datagrid
dgCompanies.PageSize = pageSize;
dgCompanies.DataSource = rdr;
dgCompanies.DataBind();
我需要检查 companyId 是否不等于某些值,然后我需要从搜索结果中删除该记录,这意味着将其从该 dgCompanies 数据网格中删除。我真的不知道我能做到这一点,有人可以在这里给我一些帮助吗?
【问题讨论】:
-
你为什么不相应地填充阅读器?
-
这是一个很好的建议,但我不知道如何修改该阅读器!我的理解是读者已经修复了这个命令:IDataReader rdr = Syntegra.Manufacturing.WMCCM.Companies.Companies.ListCompanies(dgCompanies.CurrentPageIndex, pageSize, CompanyList, CompanyNameStartsWith, ProcessSqlClause, SkillSqlClause, LocationClause, KeywordSqlClause, User, Status, SearchPortalId,假,排序列,排序方向);我不能改变吗?
-
好的,让我在答案中指定
-
查询修改困难。我认为它发生在您指定的
ListCompanies类中。