Member 14520591 Ответов: 1

Данные Ftech в соответствии с selcting на no из различных выпадающих списков


Asp.net c# MySql(I have three dropdownlist and one button i want to run query that when i select data in one drop downlist then only that one  dropdownlist count will show,if i select two dropdownlist then in where condition two column of each dropdown list with and operation give me result count of two dropdownlist ,if i select all three dropdownlist then in where condition three column with and operation calculate result count of three and condition will run how to do it in single query

при выборе трех данных dropdownlist мой код работает .как вы можете видеть, но то, что я хочу, когда perrson выбирает два данных dropdownlist, то он также может работать, как в моем случае 1 и 3 выпадающего списка.

Что я уже пробовал:

отчет.aspx-файл.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Report.aspx.cs" Inherits="Report" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .auto-style1 {
            text-align: center;
        }
        </style>
</head>
<body>
    <form id="form1" runat="server">
        <div class="auto-style1">
           <span style ="font-family:Arial">Select Railway : </span>

<asp:DropDownList ID="ddlrailway" runat="server" AutoPostBack = "true" OnSelectedIndexChanged="ddlrailway_SelectedIndexChanged" >

<asp:ListItem Text = "--Select Railway--" Value = ""></asp:ListItem>

</asp:DropDownList>

 

<br /><br />

<span style ="font-family:Arial">Select Division : </span>

<asp:DropDownList ID="ddldivision" runat="server" AutoPostBack = "true"

Enabled = "false"  >

<asp:ListItem Text = "--Select division--" Value = ""></asp:ListItem>

</asp:DropDownList>

 

<br /><br />

 <span style ="font-family:Arial">Select Signal Type : </span>

<asp:DropDownList ID="DropDownList9" runat="server" AutoPostBack = "true"   >

<asp:ListItem Text = "--Select  Signal--" Value = ""></asp:ListItem>

</asp:DropDownList>

            <br />
            <br />

<asp:Button ID="b1" runat="server" Text="Button" OnClick="b1_Click"></asp:Button>

            <br />
            <br />
            <asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>

        </div>
    </form>
</body>
</html>
*******************************************
report.aspx.cs
<pre>using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using MySql.Data.MySqlClient;

public partial class Report : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            ddlrailway.AppendDataBoundItems = true;
            string ConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["Papus"].ConnectionString;
            using (MySqlConnection cn = new MySqlConnection(ConnStr))

            {
                MySqlCommand cmd = new MySqlCommand("Select idrail,raili from railway.rail ", cn);
                cmd.CommandType = CommandType.Text;
                cmd.Connection = cn;


                cn.Open();

                ddlrailway.DataSource = cmd.ExecuteReader();

                ddlrailway.DataTextField = "raili";

                ddlrailway.DataValueField = "idrail";

                ddlrailway.DataBind();
            }
            dbind();

        }

    }


    protected void ddlrailway_SelectedIndexChanged(object sender, EventArgs e)
    {
        ddldivision.Items.Clear();

        ddldivision.Items.Add(new ListItem("--Select division--", ""));
        ddldivision.AppendDataBoundItems = true;
        string ConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["Papus"].ConnectionString;
        using (MySqlConnection cn = new MySqlConnection(ConnStr))

        {
            cn.Open();
            MySqlCommand cmd = new MySqlCommand("select iddivi, divia from railway.divi " +

                           "where idrail=@idrail", cn);


            cmd.Connection = cn;
            cmd.Parameters.AddWithValue("@idrail",

                         ddlrailway.SelectedItem.Value);
            cmd.CommandType = CommandType.Text;




            ddldivision.DataSource = cmd.ExecuteReader();

            ddldivision.DataTextField = "divia";

            ddldivision.DataValueField = "iddivi";

            ddldivision.DataBind();

            if (ddldivision.Items.Count > 0)

            {

                ddldivision.Enabled = true;

            }

            else

            {

                ddldivision.Enabled = false;



            }
        }
    }

    

    private void dbind()
    {
        DropDownList9.Items.Add(new ListItem("--Select signal type--", ""));
        string ConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["Papus"].ConnectionString;
        using (MySqlConnection cn = new MySqlConnection(ConnStr))

        {
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT idsiga,sigal  from railway.siga", cn);
            DataTable dt = new DataTable();
            da.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                DropDownList9.DataSource = dt;
                DropDownList9.DataTextField = "sigal";
                DropDownList9.DataValueField = "idsiga";
                DropDownList9.DataBind();

            }
        }
    }

    protected void b1_Click(object sender, EventArgs e)
    {
        string ConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["Papus"].ConnectionString;
        using (MySqlConnection cn = new MySqlConnection(ConnStr))
        {
            MySqlCommand cmd = new MySqlCommand("Select count(signal_s)from railway.room where signal_s='" + DropDownList9.SelectedItem.Text + "' and Railway='" + ddlrailway.SelectedItem.Text + "' and  Division='" + ddldivision.SelectedItem.Text + "'", cn);
            cmd.CommandType = CommandType.Text;
            cn.Open();
            Label6.Text = cmd.ExecuteScalar().ToString(); 
        }
    }
}

1 Ответов

Рейтинг:
1

Gerry Schmitz

Добавьте дополнительные опции для "Нет", если это применимо, в раскрывающиеся списки.