hi!
mein ansatz gefaellt mir auch nicht rasend, ist aber folgender:
auslesen per SqlDataReader, was es darzustellen gibt (pnlItems ist ein
aspPanel):
while(reader.Read())
{
CheckBox ch = new CheckBox();
ch.Text = reader[0].ToString();
ch.ID="ck"+reader[0].ToString();
pnlItems.Controls.Add(ch);
}
reader.Close();
im event, das den button_click dann handelt:
while(reader.Read())
{
string t = reader[0].ToString();
CheckBox ch = new CheckBox();
ch = (CheckBox)this.FindControl("ck" + t);
if ( ch.Checked == true)
{
// do something
}
}
das problem, das sich dabei stellt ist: was ist, wenn sich zwischen
dem anzeigen der seite und dem button clicken was in der db aendert?
wird die db so veraendert, dass eine checkbox nicht mehr angezeigt
werden wuerde, faehrst du so vermutlich zielsicher in eine exception
just my 2 little cents,
Michi
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] Im Auftrag von Raimund
Angleitner
Gesendet: Mittwoch, 20. Februar 2002 15:01
An: aspDEdotnet
Betreff: [aspdedotnet] dynamische CheckBoxList generieren
Hallo Liste!
Wie kann man eine CheckboxList dynamisch generieren?
Ich m�chte von einer Datenbank eine Authors-Liste auslesen und f�r jeden
Author eine Checkbox generieren.
Wenn ich dann Submit dr�cke soll mit den ausgew�hlten Authoren etwas
gemach werden .
Leider funktioniert folgende L�sung nicht: Ich habe den Datenbankteil
der einfachheit halber weggelassen.
Fehler: Der C# Code in der CheckBoxList is nicht erlaubt.
Ich habe es auch schon mit einem Repeater versucht, leider kann ich dann
nicht auf die Eigenschaften der einzelnen Checkboxes zugreifen.
�ber eine funktionierende L�sung w�rde ich mich sehr freuen!
mfg,
Raimund A.
Mein 10. L�sungsansatz:
=================
//-> Page_Load im .cs file:
public void Page_Load(object sender, System.EventArgs e)
{
SmartNavigation = true;
if (!IsPostBack)
{
ArrayList values = new ArrayList();
values.Add(new Authors("Alex Homer", "AH"));
values.Add(new Authors("Dave Sussman", "DS"));
values.Add(new Authors("Rich Anderson", "RA"));
values.Add(new Authors("Rob Howard", "RH"));
values.Add(new Authors("Brian Francis", "BF"));
MyCheckBoxList.DataSource = values;
MyCheckBoxList.DataBind();
}
//-> Code im .aspx file:
<asp:CheckBoxList id="MyCheckBoxList" runat="server"
RepeatDirection="Horizontal">
<asp:ListItem>
<%# DataBinder.Eval(Container.DataItem, "Name") %> </asp:ListItem>
</asp:CheckBoxList> <asp:Button id="btnSubmit" text="Abschicken"
onclick="btnSubmit_Click"
runat="server"/>
//-> Definition der Authors Klasse im .cs file:
public class Authors
{
private string name;
private string initials;
public Authors(string name, string initials)
{
this.name = name;
this.initials = initials;
}
public string Name { get { return name; } }
public string Initials { get { return initials; } }
}
| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie
| k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp
| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp