Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

προβλημα με dropdownlists

Îåêßíçóå áðü ôï ìÝëïò Scientist. Τελευταία δημοσίευση από το μέλος George J. Capnias στις 05-07-2007, 20:50. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  05-07-2007, 09:03 33401

    προβλημα με dropdownlists

    καλημέρα σε όλους,

    φτιαχνω μια εφαρμογή η οποία χρησιμοποιει 3 dropdownlists στη καταχώρηση δεδομένων. Καθε dropdownlist εχει δικά του δεδομένα αλλα συνδεονται με σχέση parent child, δηλαδη το 1ο εχει κάποια δεδομένα, το οποίο όταν διαλέξουμε κάποια θα ανοιξει το 2ο με συμπυκνωμένα πλεον δεδομένα και όταν διαλέξουμε και από το 2ο θα ανοιξουν και του 3ου τα δεδομένα -τα οποία ειναι "παιδια" του 2ου-

    Το πρόβλημα μου είναι ενω το καταφέρνω να γίνεται το παραπάνω, στη περίπτωση που στο 2ο υπαρχει μόνο ένα child, το οποίο και πρέπει να επιλέξω, δεν ανοίγει το dropdownlist...λογω ενος record..οποτε δε μου ανοιγουν και τα δεδομένα του 3ου dropdownlist.

    εχει κανεις καμια ιδέα;

    ευχαριστω πολύ εκ των προτέρων

  •  05-07-2007, 10:54 33402 σε απάντηση της 33401

    Απ: προβλημα με dropdownlists

    Δουλεύεις με data binding; Ποιά events χρησιμοποιείς;


    Vir prudens non contra ventum mingit
  •  05-07-2007, 11:04 33403 σε απάντηση της 33402

    Απ: προβλημα με dropdownlists

    αυτο που εχω κάνει μέχρι στιγμής είναι:

    εχω βαλει τα dropdownlists..τα εχω κανει autopostback=true και ο κώδικας ειναι...

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    'Put user code to initialize the page here

    If Not Page.IsPostBack Then

    Me.ddl1o.DataBind()

    Me.ddl2o.DataBind()

    Me.ddl3o.DataBind()

    Dim Command1 As SqlClient.SqlCommand

    Command1 = GetCommand("web_get1mio") --γεμίζει το 1ο ddl

    Command1.Connection.Open()

    ddl1o.DataValueField = "AccountCode1"

    ddl1o.DataTextField = "Account1"

    ddl1o.DataSource = Command1.ExecuteReader

    ddl1o.DataBind()

    ddl1o.Items.Insert(0, "-- Παρακαλώ επιλέξτε --")

    Command1.Dispose()

    End If

    End Sub

    Private Sub BtnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSubmit.Click

    If Me.ddl1o.SelectedItem.Value = "" Then Exit Sub

    If Me.ddl2o.SelectedItem.Value = "" Then Exit Sub

    If Me.ddl3o.SelectedItem.Value = "" Then Exit Sub

    Dim Cmd As SqlClient.SqlCommand = Database.GetCommand("dbo.[web_AccountInsert]")

    Cmd.Parameters.Add("@GL_KOD1", SqlDbType.Int).Value = Me.ddl1o.SelectedValue

    Cmd.Parameters.Add("@GL_KOD2", SqlDbType.Int).Value = Me.ddl2o.SelectedValue

    Cmd.Parameters.Add("@GL_KOD3", SqlDbType.Int).Value = Me.ddl3o.SelectedValue

    Cmd.Parameters.Add("@ERRORMSG", SqlDbType.NVarChar, 250)

    Cmd.Parameters("@ERRORMSG").Direction = ParameterDirection.Output

    Database.CommandExecuteNonQuery(Cmd, True)

    Me.ddl1o.SelectedItem.Value = ""

    Me.ddl2o.SelectedItem.Value = ""

    Me.ddl3o.SelectedItem.Value = ""

    ErrorMsg_.Text = Cmd.Parameters("@ERRORMSG").Value

    End Sub

     

    Private Sub ddl1o_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddl1o.SelectedIndexChanged

    Dim Command2 As SqlClient.SqlCommand

    Command2 = GetCommand("web_get2mio")

    Command2.Connection.Open()

    Command2.Parameters.Add("@AccountCode1", SqlDbType.VarChar, 2).Value = Me.ddl1o.SelectedValue

    ddl2o.DataValueField = "AccountCode2"

    ddl2o.DataTextField = "Account2"

    ddl2o.DataSource = Command2.ExecuteReader

    ddl2o.DataBind()

    Command2.Dispose()

    End Sub

     

    Private Sub ddl2o_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddl2o.SelectedIndexChanged

    Dim Command3 As SqlClient.SqlCommand

    Command3 = GetCommand("web_get3mio")

    Command3.Connection.Open()

    Command3.Parameters.Add("@AccountCode2", SqlDbType.VarChar, 4).Value = Me.ddl2o.SelectedValue

    ddl3o.DataValueField = "AccountCode3"

    ddl3o.DataTextField = "Account3"

    ddl3o.DataSource = Command3.ExecuteReader

    ddl3o.DataBind()

    Command3.Dispose()

    End Sub

    End Class

  •  05-07-2007, 11:29 33405 σε απάντηση της 33403

    Απ: προβλημα με dropdownlists

    Γιατί δεν βάζεις αυτό το "Παρακαλώ επιλέξτε" και στο δεύτερο dropdownlist; Έτσι θα έχεις δύο at least αντικείμενα στο δεύτερο list, οπότε και με την επιλογή θα σκάσει το SelectedIndexChanged


    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  05-07-2007, 11:30 33406 σε απάντηση της 33403

    Απ: προβλημα με dropdownlists

    Μπορείς κάθε φορά που γεμίζεις το δεύτερο DropDownList να ελέγχεις πόσα DataRows έχει το DataSource και αν έχει ένα, να προχωράς και να γεμίζεις και το τρίτο σύμφωνα με την τιμή του δευτέρου. Δες επίσης αΑν υπάρχει περίπτωση αυτό το σενάριο να παίξει και από το πρώτο προς το δεύτερο DropDownList


    Vir prudens non contra ventum mingit
  •  05-07-2007, 20:50 33419 σε απάντηση της 33406

    Απ: προβλημα με dropdownlists

    Νομίζω το CascadingDropDown control του AJAX Control Toolkit είναι ακριβώς αυτό που περιγράφεις...

     

    George J.

     


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems