想要gridview只填写按钮点击
本文关键字:按钮 gridview 想要 | 更新日期: 2023-09-27 18:09:39
所以我一直在asp.net中使用一个sqldatasource与多个控制参数的搜索工作。如果一个控件被填充,而另一个控件没有(如果我留下一个空白,它不会带来任何东西),我花了一点时间来搜索我的表。我现在唯一的问题是,一旦页面打开,它将填写整个数据库的网格视图。也许我去这一切都错了,但我的最终意图是有一个搜索页面与8个文本框通过数据库搜索。任何帮助都将非常感激。我不确定这是不是你需要的全部信息,但请告诉我。提前感谢大家。
<asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:Conn %>" CancelSelectOnNullParameter="false"
SelectCommand="SELECT [ID], [ContractNo], [OMBEmp], [Cono], [ReviewDate], [AmendNo], [RType], [Contractor], [Purpose], [Department] FROM [tblContractLog] WHERE (([ContractNo] = @ContractNo OR @ContractNo = '') AND ([OMBEmp] = @OMBEmp OR @OMBEmp = '') AND ([Cono] = @Cono OR @Cono = '') AND ([AmendNo] = @AmendNo OR @AmendNo = '') AND ([RType] = @RType OR @RType = '') AND ([Contractor] = @Contractor OR @Contractor = '') AND ([Purpose] = @Purpose OR @Purpose = '') AND ([Department] = @Department OR @Department = ''))">
<SelectParameters>
<asp:ControlParameter ControlID="contractnumb" Name="ContractNo"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
<asp:ControlParameter ControlID="employeetext" Name="OMBEmp"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
<asp:ControlParameter ControlID="conumb" Name="Cono"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
<asp:ControlParameter ControlID="amendnumbtxt" Name="AmendNo"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
<asp:ControlParameter ControlID="rtypetxt" Name="RType"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
<asp:ControlParameter ControlID="contractortxt" Name="Contractor"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
<asp:ControlParameter ControlID="purposetxt" Name="Purpose"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
<asp:ControlParameter ControlID="departmenttxt" Name="Department"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="false"/>
</SelectParameters>
</asp:SqlDataSource>
您可以通过点击selection事件来控制何时加载sqldatasource,并在不搜索时取消。你可以用下面的代码(从这里取的)来阻止它:
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
if (!IsPostBack)
e.Cancel = true;
}
建立搜索参数后,在网格上调用databind。
要按需填充GridView
(单击按钮),请在代码中设置DataSourceID,而不是在ASPX
页面上设置,或者在单击按钮时绑定它,而不是在页面加载