Καλησπέρα σε όλους,
Εχω μια σελίδα με ένα checkboxlist control που populated από ενα πίνακα ωσ εξής
1 2 3 4 5 6 7 | <asp:CheckBoxList ID="interests_CheckBoxList" runat="server" Width="100%" DataSourceID="SqlDataSource1_int" DataTextField="interest_name" DataValueField="id" > <asp:SqlDataSource ID="SqlDataSource1_int" runat="server" ConnectionString="<%$ ConnectionStrings:conn %>" SelectCommand="SELECT [id], [interest_name] FROM [interests] WHERE ([active] = @active)"> <SelectParameters> <asp:Parameter DefaultValue="1" Name="active" Type="Byte" /> </SelectParameters> </asp:SqlDataSource> |
στο submit παίρνω τις επιλογέσ του χρήστη και τις κάνω store σε ένα πίνακα,
Τώρα θα ήθελα να κάνω RE populate το checkboxlist με τις τιμές που εχω στην βάση, προσπαθώ με τον παρακάτω τρόπο, αλλά κατι πρέπει να κάνω λάθος...κάποια ιδέα πως μπορεί να γίνει?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | public void pop_checkboxes() {
string connectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString; SqlConnection sqlConnection1 = new SqlConnection(connectionString);
string CommandText1 = "select int_id from user_interests where user_id=1 ";
SqlCommand sqlComm1 = new SqlCommand(CommandText1, sqlConnection1); SqlDataReader reader;
try {
//open connection sqlConnection1.Open(); //execute command reader = sqlComm1.ExecuteReader();
CheckBoxList chkbx = (CheckBoxList)form1.FindControl("interests_CheckBoxList"); //get results while (reader.Read()) { ListItem currentCheckBox = chkbx.Items.FindByValue(reader[0].ToString()); if (currentCheckBox != null) { currentCheckBox.Selected = true; } }
//close reader reader.Close(); } catch { Response.Write("error");
} finally { //close connection sqlConnection1.Close(); } } |