2016-04-05 5 views
1

In Dropdown-Listen können Kontrollkästchen, die mit ObjectDatasource gefüllt werden, aktiviert oder deaktiviert werden. Die Werte in den Dropdown-Listen stehen für Geräte und die Kontrollkästchen stehen für Einstellungen dieser Geräte. Beide sind in einer Tabelle in der Datenbank gespeichert. Ist es möglich, das zu erreichen? Was ist die Logik hinter diesem Ansatz, wenn überhaupt? Ich habe online überprüft, aber ich habe nichts ähnliches zu diesem Problem gefunden. Es war 3 Tage ohne Glück. Ich bin soweit gekommen, die Einstellungen des EquipDDL.SelectedValue in einer Liste zu speichern. aber ich habe eine harte Zeit, die Daten dieser Liste und der Checkboxes Liste zu binden.Können Dropdown-Listen Kontrollkästchen in einer Checkbox-Liste aktivieren?

string UserDDL = AllEquipDDL.SelectedValue.ToString() 
string query = "Select settingName from EquipSettings where EquipName=" + UserDDL; 
cmd.Connection = conn; 
cmd.CommandText = query; 

SqlDataReader dr = cmd.ExecuteReader(); 

while (dr.Read()) 
{ 
    string myItem = dr["settingName"].ToString(); 

    settingSelectCheckBox.Items.Add(myItem); 

    for (int i = 0; i <= settingSelectCheckBox.Items.Count; i++) 
    // stucked in here... 

ASP.NET:

<asp:CheckBoxList runat="server" ID="settingSelectCheckBox" DataSourceID="SettingsObjectDataSource" 

<asp:DropDownList ID="AllEquipDDL" runat="server" DataSourceID="AllEquipSqlDataSource" 

Antwort

0
string myItem = dr["settingName"].ToString(); 
    settingSelectCheckBox.Items.Add(myItem); 
IEnumerable<string> CheckedItems = settingSelectCheckBox.Items.Cast<ListItem>() 
            .Where(i => i.Selected) 
            .Select(i => i.Value); 

     foreach(string i in CheckedItems) 
     { 
     //do somthing 
     } 
0

die Art, wie ich das Problem gelöst, indem die Verwendung von Google Chrome-Entwickler-Tool, um die Ids für alle Kontrollkästchen und alle DDL-Elemente zu identifizieren, wenn Aussagen verwenden und sonst war ich kann checkBoxes checken und entfernen.

Verwandte Themen