0
GridViewにバインドしているObjectDataSourceがあります。ObjectDataSource FilterExpressionが複数のパラメータで動作しません
また、ApplyFilterExpression関数を呼び出す2つのドロップダウンリストボックスもあります。
これらはどちらも独立して動作しますが、両方の値をドロップダウンに設定すると結果は得られません。しかし、結果があるはずです。私はここで間違って何をしていますか?
<asp:ObjectDataSource ID="dsLogs" runat="server" SelectMethod="GetDTAll"
TypeName="LogManager.LogRepository"
SelectCountMethod="GetAllCount" >
<SelectParameters>
<asp:Parameter DefaultValue="DESC" Name="sortOrder" Type="String" />
<asp:Parameter DefaultValue="timestamp" Name="orderBy" Type="String" />
<asp:Parameter DefaultValue="1" Name="startRowIndex" Type="Int32" />
<asp:Parameter DefaultValue="1000" Name="maximumRows" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
private void ApplyFilterExpression()
{
dsLogs.FilterExpression = null;
bool hasFilter = false;
if (ddlTypes.SelectedIndex != 0)
{
dsLogs.FilterExpression = "type='" + ddlTypes.SelectedValue + "'";
hasFilter = true;
}
if (ddlUsers.SelectedIndex != 0)
{
if (hasFilter)
{
dsLogs.FilterExpression += " AND username='" + ddlUsers.SelectedValue + "'";
}
else
{
dsLogs.FilterExpression = "username='" + ddlUsers.SelectedValue + "'";
hasFilter = true;
}
}
ViewState["FiltExp"] = (string)dsLogs.FilterExpression;
}
これは本当に奇妙である...実際に同じ結果....しかし、私はより多くのテストを行い、私は矛盾した結果を得ている....時には私はいくつかの結果を得ると時々!私のページングでは、フィルタを適用した後に10ページ以上があると言いますが、3ページ目をクリックすると「結果がありません」と表示されます。 – capdragon
だから私は何を尋ねるか分からない。しかし、少なくともそれが私のテストに役立ったので、私はあなたに答えを与えるつもりです。 – capdragon