मैं जानना चाहता हूं कि उपयोगकर्ता द्वारा चुनी गई कैस्केडिंग ड्रॉपडाउन सूची के आधार पर मैं निश्चित डेटा कैसे प्रदर्शित कर सकता हूं? उदाहरण के लिए, मेरे पास अंतिम ड्रॉपडाउन सूची में 3 ड्रॉपडाउन सूचियां हैं, यदि उपयोगकर्ता "हां" चुनता है, तो टेक्स्टबॉक्स "स्थिति स्वीकृत है" प्रदर्शित करेगा और यदि उपयोगकर्ता "नहीं" चुनता है, तो टेक्स्टबॉक्स "स्थिति स्वीकृत नहीं" प्रदर्शित करेगा। यह मेरा कोड है। मुझे नहीं पता कि और क्या करना है, कृपया मदद करें।

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        FillPackage();

    }
}


private void FillPackage()
{
    string strConn = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
    SqlConnection con = new SqlConnection(strConn);
    SqlCommand cmd = new SqlCommand();

    cmd.Connection = con;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "SELECT TopID, ToPackage FROM TableTop1";
    DataSet objDs = new DataSet();
    SqlDataAdapter dAdapter = new SqlDataAdapter();
    dAdapter.SelectCommand = cmd;
    con.Open();
    dAdapter.Fill(objDs);
    con.Close();

    if (objDs.Tables[0].Rows.Count > 0)
    {
        ddl1.DataSource = objDs.Tables[0];
        ddl1.DataTextField = "ToPackage";
        ddl1.DataValueField = "TopID";
        ddl1.DataBind();
        ddl1.Items.Insert(0, "--Select--");

    }
    else
    {
        lblMsg.Text = "No Package found";
    }
}

private void FillPurpose(int TopID)
{
    string strConn = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
    SqlConnection con = new SqlConnection(strConn);
    SqlCommand cmd = new SqlCommand();

    cmd.Connection = con;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "SELECT PurposeID, Purpose FROM TablePurpose1 WHERE TopID =@TopID";
    cmd.Parameters.AddWithValue("@TopID", TopID);
    DataSet objDs = new DataSet();
    SqlDataAdapter dAdapter = new SqlDataAdapter();
    dAdapter.SelectCommand = cmd;
    con.Open();
    dAdapter.Fill(objDs);
    con.Close();

    if (objDs.Tables[0].Rows.Count > 0)
    {
        ddl2.DataSource = objDs.Tables[0];
        ddl2.DataTextField = "Purpose";
        ddl2.DataValueField = "PurposeID";
        ddl2.DataBind();
        ddl2.Items.Insert(0, "--Select--");
    }
    else
    {
        lblMsg.Text = "Please consult with focal person";
    }
}

private void FillReason(int PurposeID)
{
    string strConn = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
    SqlConnection con = new SqlConnection(strConn);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "SELECT ReasonID, Reason FROM TableReason1 WHERE PurposeID =@PurposeID";
    cmd.Parameters.AddWithValue("@PurposeID", PurposeID);
    DataSet objDs = new DataSet();
    SqlDataAdapter dAdapter = new SqlDataAdapter();
    dAdapter.SelectCommand = cmd;
    con.Open();
    dAdapter.Fill(objDs);
    con.Close();

    if (objDs.Tables[0].Rows.Count > 0)
    {
        ddl3.DataSource = objDs.Tables[0];
        ddl3.DataTextField = "Reason";
        ddl3.DataValueField = "ReasonID";
        ddl3.DataBind();
        ddl3.Items.Insert(0, "--Select--");
    }
    else
    {
        lblMsg.Text = "Please consult with focal person";
    }
}
0
Ana Steel 3 मार्च 2019, 11:27

1 उत्तर

सबसे बढ़िया उत्तर

चूंकि आपके पास आपके स्निपेट में Page_Load विधि है, इसलिए मुझे लगता है कि आप एएसपीनेट वेब फॉर्म का उपयोग कर रहे हैं। यदि ऐसा है तो आपको केवल ड्रॉपडाउनलिस्ट घटक द्वारा उत्सर्जित ईवेंट को बदलने पर इसे संभालना होगा।

मैं आपका सी # कोड हूं, आपको अपने ड्रॉपडाउनलिस्ट में किसी आइटम के चुने जाने की घटना को संभालने के लिए एक विधि बनाना चाहिए, ऐसा कुछ:

protected void ItemSelected(object sender, EventArgs e)
{
    if (ddl3.SelectedItem.Value == "Yes")
    {
        // Change text box text
    }
}

और फिर आपको अपने ईवेंट हैंडलर को घटक से जोड़ना होगा:

<asp:DropDownList ID="ddl3" runat="server" AutoPostBack="True" 
        onselectedindexchanged="ItemSelected">
    </asp:DropDownList>
0
IPValverde 3 मार्च 2019, 09:42