搜索第一次点击不起作用
Search first click doesn't work
我正在使用 ReportViewer 来显示 data.I 不想在 Page_Load 中加载数据(加载页面需要很多时间,因为我有很多数据)。
当我点击搜索按钮时出现问题,它会在第一次点击时加载所有数据,在第二次点击后它会过滤数据。
知道如何在第一次点击时过滤数据
我的代码看起来像这样:
C#:
protected void LinkButton_FilterArticles_Click(object sender, EventArgs e)
{
try
{
ReportViewer_DetailsArticles.LocalReport.Refresh();
ReportViewer_DetailsArticles.ShowReportBody = true;
}
catch (Exception ex)
{
...
}
}
asp.net 网络表单:
<rsweb:ReportViewer ID="ReportViewer_DetailsArticles" runat="server">
<LocalReport ReportPath="BO\Report\Report_DetailsArticles.rdlc">
<DataSources>
<rsweb:ReportDataSource Name="DataSet_DetailsArticles" DataSourceId="ObjectDataSource_DetailsArticles"></rsweb:ReportDataSource>
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource runat="server" ID="ObjectDataSource_DetailsArticles" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="MICIEN.BO.DataSet.DataSet_DetailsArticlesTableAdapters.Reporting_SearchFromDetailsArticlesTableAdapter" UpdateMethod="GetData">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox_DateDecisionFrom" PropertyName="Text" Name="DateDecisionFrom" Type="DateTime"></asp:ControlParameter>
<asp:ControlParameter ControlID="TextBox_DateDecisionTo" PropertyName="Text" Name="DateDecisionTo" Type="DateTime"></asp:ControlParameter>
<asp:ControlParameter ControlID="TextBox_DateReceptionFrom" PropertyName="Text" Name="DateReceptionDemandeFrom" Type="DateTime"></asp:ControlParameter>
<asp:ControlParameter ControlID="TextBox_DateReceptionTo" PropertyName="Text" Name="DateReceptionDemandeTo" Type="DateTime"></asp:ControlParameter>
<asp:ControlParameter ControlID="TextBox_CodeSH" PropertyName="Text" Name="ArticleCodeExt" Type="String"></asp:ControlParameter>
<asp:ControlParameter ControlID="TextBox_Importateur" PropertyName="Text" Name="Importer" Type="String"></asp:ControlParameter>
<asp:ControlParameter ControlID="DropDownList_Laboratoire" PropertyName="SelectedValue" Name="Laboratoire" Type="Int32"></asp:ControlParameter>
<asp:ControlParameter ControlID="DropDownList_Bureau" PropertyName="SelectedValue" Name="Bureau" Type="Int32"></asp:ControlParameter>
<asp:ControlParameter ControlID="DropDownList_FamilleProduit" PropertyName="SelectedValue" Name="FamilleProduit" Type="Int32"></asp:ControlParameter> </SelectParameters> </asp:ObjectDataSource>
抱歉我的英语不好
如果您有日期参数,那么这个 link 可能会对您有所帮助:
我在我的存储过程中添加了一个参数“@Show bit”,并在 where 语句中设置了“@Show = 1”,然后我在页面 aspx 中添加了一个隐藏字段,如下所示:
<asp:HiddenField ID="HiddenField_Show" runat="server" />
数据源参数:
<asp:ControlParameter ControlID="HiddenField_Show" PropertyName="Value" Name="Show" Type="Boolean" DefaultValue="False"></asp:ControlParameter>
我的新 C# 代码如下所示:
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{
HiddenField_Show.Value = "False";
ReportViewer_DetailsArticles.LocalReport.Refresh();
ReportViewer_DetailsArticles.ShowReportBody = true;
}
else HiddenField_Show.Value = "True";
}
catch (Exception ex)
{
...
}
}
protected void LinkButton_FilterArticles_Click(object sender, EventArgs e)
{
try
{
HiddenField_Show.Value = "True";
ReportViewer_DetailsArticles.LocalReport.Refresh();
ReportViewer_DetailsArticles.ShowReportBody = true;
}
catch (Exception ex)
{
...
}
}
我正在使用 ReportViewer 来显示 data.I 不想在 Page_Load 中加载数据(加载页面需要很多时间,因为我有很多数据)。 当我点击搜索按钮时出现问题,它会在第一次点击时加载所有数据,在第二次点击后它会过滤数据。 知道如何在第一次点击时过滤数据 我的代码看起来像这样:
C#:
protected void LinkButton_FilterArticles_Click(object sender, EventArgs e) { try { ReportViewer_DetailsArticles.LocalReport.Refresh(); ReportViewer_DetailsArticles.ShowReportBody = true; } catch (Exception ex) { ... } }
asp.net 网络表单:
<rsweb:ReportViewer ID="ReportViewer_DetailsArticles" runat="server"> <LocalReport ReportPath="BO\Report\Report_DetailsArticles.rdlc"> <DataSources> <rsweb:ReportDataSource Name="DataSet_DetailsArticles" DataSourceId="ObjectDataSource_DetailsArticles"></rsweb:ReportDataSource> </DataSources> </LocalReport> </rsweb:ReportViewer> <asp:ObjectDataSource runat="server" ID="ObjectDataSource_DetailsArticles" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="MICIEN.BO.DataSet.DataSet_DetailsArticlesTableAdapters.Reporting_SearchFromDetailsArticlesTableAdapter" UpdateMethod="GetData"> <SelectParameters> <asp:ControlParameter ControlID="TextBox_DateDecisionFrom" PropertyName="Text" Name="DateDecisionFrom" Type="DateTime"></asp:ControlParameter> <asp:ControlParameter ControlID="TextBox_DateDecisionTo" PropertyName="Text" Name="DateDecisionTo" Type="DateTime"></asp:ControlParameter> <asp:ControlParameter ControlID="TextBox_DateReceptionFrom" PropertyName="Text" Name="DateReceptionDemandeFrom" Type="DateTime"></asp:ControlParameter> <asp:ControlParameter ControlID="TextBox_DateReceptionTo" PropertyName="Text" Name="DateReceptionDemandeTo" Type="DateTime"></asp:ControlParameter> <asp:ControlParameter ControlID="TextBox_CodeSH" PropertyName="Text" Name="ArticleCodeExt" Type="String"></asp:ControlParameter> <asp:ControlParameter ControlID="TextBox_Importateur" PropertyName="Text" Name="Importer" Type="String"></asp:ControlParameter> <asp:ControlParameter ControlID="DropDownList_Laboratoire" PropertyName="SelectedValue" Name="Laboratoire" Type="Int32"></asp:ControlParameter> <asp:ControlParameter ControlID="DropDownList_Bureau" PropertyName="SelectedValue" Name="Bureau" Type="Int32"></asp:ControlParameter> <asp:ControlParameter ControlID="DropDownList_FamilleProduit" PropertyName="SelectedValue" Name="FamilleProduit" Type="Int32"></asp:ControlParameter> </SelectParameters> </asp:ObjectDataSource>
抱歉我的英语不好
如果您有日期参数,那么这个 link 可能会对您有所帮助:
我在我的存储过程中添加了一个参数“@Show bit”,并在 where 语句中设置了“@Show = 1”,然后我在页面 aspx 中添加了一个隐藏字段,如下所示:
<asp:HiddenField ID="HiddenField_Show" runat="server" />
数据源参数:
<asp:ControlParameter ControlID="HiddenField_Show" PropertyName="Value" Name="Show" Type="Boolean" DefaultValue="False"></asp:ControlParameter>
我的新 C# 代码如下所示:
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{
HiddenField_Show.Value = "False";
ReportViewer_DetailsArticles.LocalReport.Refresh();
ReportViewer_DetailsArticles.ShowReportBody = true;
}
else HiddenField_Show.Value = "True";
}
catch (Exception ex)
{
...
}
}
protected void LinkButton_FilterArticles_Click(object sender, EventArgs e)
{
try
{
HiddenField_Show.Value = "True";
ReportViewer_DetailsArticles.LocalReport.Refresh();
ReportViewer_DetailsArticles.ShowReportBody = true;
}
catch (Exception ex)
{
...
}
}