但若遇到某個過濾參數來源值為空字串,就會讓 Gridview無法顯示資料內容
假設:有一個組織,區分為 上層單位Unit1與下層單位Unit2
Unit1必有值,Unit2不一定有值。
例如:Unit1為中區分公司,Unit2為行政課,但Unit2也可能為空字串。
下方將Unit1值以Session來過濾條件,Unit2值則以下拉式選單過濾
* 記得在可能有空字串的SelectParameters條件,加設 DefaultValue=" "即可解決問題。
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:lea_DBcs %>"
ProviderName="<%$ ConnectionStrings:lea_DBcs.ProviderName %>" SelectCommand="SELECT* FROM [DocApply] WHERE ([Unit2] = @Unit2 and [Unit1] = @Unit1 " >
<selectparameters>
<asp:ControlParameter ControlID="DropDownList1" DefaultValue=" "
Name="Unit2" PropertyName="SelectedValue" Type="String" />
<asp:SessionParameter SessionField="Unit1" Name="Unit1" Type="String" />
</SelectParameters>