Изменение источника данных gridview на основе выпадающего списка - PullRequest
0 голосов
/ 14 февраля 2019

Я изо всех сил, и я надеюсь, что кто-то может помочь мне, пожалуйста.

У меня есть 4 выпадающих списка, кнопка поиска и обычный просмотр сетки с базовым SQLdataConnection.

SQLdataConnectionэто хранимая процедура, которая извлекает 3 таблицы на основе 4 параметров.Эти 3 таблицы затем объединяются в сетку.

НО

Один из выпадающих списков имеет опции Всего, Быстро и Медленно .Поэтому в зависимости от того, какую опцию пользователь выбирает, соответствующая таблица должна быть загружена в сетку при нажатии кнопки поиска.(Таким образом, если выбрано значение total, таблица итогов должна быть загружена в представление сетки)

Я не знаю, следует ли изменять SQLdataConnection с каждым параметром, чтобы отображалась только соответствующая таблица.

Ниже приведена копия html выпадающего списка и вида сетки, а также код позади.

<tr>
  <td style="text-align: right" class="pad-right-0">
    <asp:DropDownList ID="selSeconds" runat="server" CssClass="selectbox select-chr" Visible="true"></asp:DropDownList>
    <asp:DropDownList ID="selHours" runat="server" CssClass="selectbox select-chr" Visible="true"></asp:DropDownList>
    <asp:DropDownList ID="selMerchantId" runat="server" CssClass="selectbox select-chr" Visible="true"></asp:DropDownList>
    <asp:DropDownList ID="selTableType" runat="server" CssClass="selectbox select-chr" Visible="true"></asp:DropDownList>
    <asp:Button ID="btnSearch" runat="server" CssClass="btn btn-primary btn-danger tip-s medium grey" ValidationGroup="Search" OnClick="btnSearch_Click" Text="<%$Resources:Resource, btnSearch %>" />
    <asp:ImageButton ID="btnExportToExcel" runat="server" CssClass="btn btn-primary btn-danger tip-s medium grey" ValidationGroup="Search" onclick="btnExportToExcel_Click" Text="Export to excel" ImageUrl="images/Excel.png" AlternateText="<%$Resources:Resource, lblExportExcel %>"
      CausesValidation="false" />
    <asp:RequiredFieldValidator ID="rqrdMerchantId" runat="server" ErrorMessage="<%$Resources:Resource, lblRequired %>" ControlToValidate="selMerchantId" ForeColor="Red" />
  </td>
</tr>
</table>
<asp:HiddenField ID="hdnMerchantId" runat="server" Value="0" />
<asp:GridView ID="gridSpeedAnalysis" runat="server" DataSourceID="gridSqlConnection">
</asp:GridView>
<asp:SqlDataSource ID="gridSqlConnection" runat="server"></asp:SqlDataSource>
 protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["UserName"] == null || Session["UserType"] == null)
        {
            Response.Redirect("Login.aspx");
        }

        LoadDropDowns();

    }



    private void LoadDropDowns()
    {
        System.Web.UI.WebControls.ListItem item;
        selSeconds.Items.Insert(0, new System.Web.UI.WebControls.ListItem("Select Second", "0"));
        int index = 1;
        for (int Second = 0; Second <= 10; Second++)
        {
            System.Web.UI.WebControls.ListItem li = new System.Web.UI.WebControls.ListItem(Second.ToString(), Second.ToString());
            selSeconds.Items.Insert(index, li);
            index++;
        }

        item = selSeconds.Items.FindByValue(DateTime.Now.Year.ToString());
        selSeconds.SelectedIndex = selSeconds.Items.IndexOf(item);

        if (Session["UserType"] != null && (Session["UserType"].ToString().ToLower() == "System Administrator".ToLower()))
        {
            selMerchantId.DataSource = BOL.MerchantGroup.Load();
            selMerchantId.DataTextField = "Description";
            selMerchantId.DataValueField = "MerchantId";
            selMerchantId.DataBind();
            selMerchantId.Items.Insert(0, new System.Web.UI.WebControls.ListItem { Value = "0", Text = "Select Group" });
            rqrdMerchantId.InitialValue = "0";
        }
        else if (Session["UserType"].ToString().ToLower() == "Head Office".ToLower())
        {
            BOL.MerchantGroup group = new BOL.MerchantGroup(int.Parse(hdnMerchantId.Value));
            selMerchantId.Items.Insert(0, new System.Web.UI.WebControls.ListItem { Value = hdnMerchantId.Value, Text = group.Description });
        }

        DataTable dt = BOL.Merchant.GetDropdownByMerhcantGroupId(int.Parse(Session["MerchantGroupId"].ToString()));

        selMerchantId.DataSource = dt;
        selMerchantId.DataTextField = "Name";
        selMerchantId.DataValueField = "MerchantId";
        selMerchantId.DataBind();

        selTableType.Items.Insert(0, new System.Web.UI.WebControls.ListItem {Text = "Total"});
        selTableType.Items.Insert(0, new System.Web.UI.WebControls.ListItem {Text = "Fast" });
        selTableType.Items.Insert(0, new System.Web.UI.WebControls.ListItem {Text = "Slow" });

    }

    protected void btnSearch_Click(object sender, EventArgs e)
    {          

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...