グリッドビュー(GridView1)を4つのドロップダウンリストを使用してフィルタリングする必要があります 今は最初の2つの選択肢だけをフィルタリングしようとしています。SQL&cmd.Parametersでグリッドビューをフィルタリングする
DdlVendor DdlStore私はSQLクエリを使用して、それを達成しています
string query = "Select DISTINCT *, dbo.getsource(version, store_account) as source " +
" FROM TABLENAME " +
" WHERE ([email protected] or @name = '') " +
" and ([email protected] or @Sname = '') " +
" and canceled = 0 " +
" and (trans_date between @start and @end) and User_id not in (45493,43020,45491) and internal_use = 0 " +
" order by " + sort + " ";
あなたは何をすべての余分なペテンを迷っている場合、フィルタは現在、弊社から送信されたすべてのテストの注文を取り出しますです。
using (SqlCommand cmd = new SqlCommand(query))
{
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
cmd.Connection = con;
using (DataTable dt = new DataTable())
{
cmd.Parameters.AddWithValue("@name", DdlVendor.SelectedIndex > 0 ? DdlVendor.SelectedValue : "");
cmd.Parameters.AddWithValue("@Sname", DdlStore.SelectedIndex > 0 ? DdlStore.SelectedValue : "");
cmd.Parameters.AddWithValue("@start", start);
cmd.Parameters.AddWithValue("@end", end);
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
@Nameと@Snameは、最初の2つのドロップダウンリストに使用しているものです。問題は、値を選択して適用すると、GridViewがエラーなしで空白になります。
目的は、各ドロップダウンリストで選択された値によって、グリッドビューに表示されているものをフィルタリングすることです。
あなたの能力を最大限引き出すために必要な質問を明確にします。
はここに私のDropDownListsの1
<asp:DropDownList ID="DdlVendor" AppendDataBoundItems="True" runat="server" CssClass="form-control ftxt" PropertyName="SelectedValue" DataSourceID="SqlDataSource1" DataTextField="Name" DataValueField="Dist_num" AutoPostBack="True">
<asp:ListItem Text="ALL" Value=""/>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DATABASE %>" SelectCommand="SELECT DISTINCT [Name], [Dist_num] FROM [VIEWNAME]"></asp:SqlDataSource>
ここでは一例としてBoundfieldと私のGridViewの
<asp:GridView ID="GridView1" runat="server" AllowSorting="True" Width="100%" CssClass="main-table" AutoGenerateColumns="False">
<asp:BoundField DataField="Name" HeaderText="Vendor" ItemStyle-Width="80px" SortExpression="Name" />
へ
と同じGridViewの再バインドが、それは通常、失敗した選択を意味空にすると。あなたは強制入力でselectステートメントをテストしましたか?変数を宣言して設定してSSMSで実行していますか? – fnostro
私はそれを考えていません。私は通常、テーブルとビューにアクセスする権限を持っていません。私は私に与えられたものだけを使う。私はそれを撃つことができます。 –