Zum Inhalt springen

ASP Checkbox zur laufzeit erstellen


Empfohlene Beiträge

Geschrieben

Hallo Allersteits,

ich habe ne Fragen und zwar:

Wie kann ich Checkboxen zur laufzeit erstellen?

Problem ist folgendes: Ich hol mir eine unbestimmte anzahl an datensätzen aus einer Datenbank. dann will ich zu jedem datensatz eine checkbox haben, um den datensatz auszuwälen und dan bearbeiten oder löschen zu können.

nur leider weiss ich nicht wie ich in auf aspx seiten dynamisch checkboxen erstellen kann.

für tipps wäre ich sehr dankbar

ogooogog

Geschrieben

Hallo auch ;)

Ich persönlich finde es mit folgendem Wege "relativ" einfach:

1. Auf der ASP-Seite ein leeres Pannel platzieren -> Dient als "Auffangbecken" für die Checkboxen)

2. Für jeden Datensatz ein Checkbox-Objekt erstellen und die nötigen Eigenschaften setzen (kenne deine datensätze nicht daher wäre z.b. Text, Checked/Unchecked etc sinnvoll weniger sinnvoll)

3. Das Checkbox-Objekt dem Panel hinzufügen per Panel.Controls.Add(Checkboxobjekt)

Das ist mal eine grobe Übersicht - Hoffe die hilft weiter sonst einfach melden ;)

Geschrieben

Hey BlackDragon83m

danke erst mal für deine Antwort.

ich werde es mal so versuchen.

Das klingt gut verständlich^^

Hast du vllt auch ne Methode, mit der ich die Datensätze schön anzeigen kann.

und dann die Checkbox daneben setzen kann.

DataGrind habe ich schon mal gemacht, finde ich aber nicht so schön.

Ich denk mal es würde auch eleganter gehen.

Viele Dank nochmal:)

gruß ogooogog

Geschrieben

Hi sorry aber ich habs gestern nicht mehr geschafft ...

Also wir lassen uns die Datensätze aus der DB als SortedList<string,string>[] zurückliefern.

Eine Methode wandelt die Tabellenergebnisse der DB Abfrage dann wie folgt um:

Jede SortedList<string,string> in dem Array bildet eine Zeile der Ergebnismenge ab. Der erste String (Key) ist der Spaltenname, der 2. string (Value) der Wert in der DB-Zelle.

Hier nun - auf Basis von unserem SortedList[] - eine Methode wie man damit dynamische Controls einbinden kann:


foreach (SortedList<string, string> row in dbResult)
{
string ip = row["IP1"] + "." + row["IP2"] + "." + row["IP3"] + "." + row["IP4"];

Label lbl_ip = new Label();
lbl_ip.Text = ip;

TextBox txb_MAC = new TextBox();
TextBox txb_SSID = new TextBox();

txb_MAC.Text = row["mac"];
txb_SSID.Text = row["ssid"];

CheckBox chb_MyBox = new CheckBox();
chb_MyBox.Text = "Soll gelöscht werden?";
chb_MyBox.Checked = false;

pnl_Entrys.Controls.Add(lbl_ip);
pnl_Entrys.Controls.Add(txb_MAC);
pnl_Entrys.Controls.Add(txb_SSID);
pnl_Entrys.Controls.Add(chb_MyBox);
}
[/PHP]

Grobe Erklärung zum Ablauf:

Jede Zeile des DB Ergebnisses wird durchlaufen.

Pro Durchlauf werden dem pnl_Entrys folgende Controls zugefügt:

1x Label mit einer IP

2x Textbox - gefüllt mit MAC und SSID

1x Checkbox mit dem Text "Soll gelöscht werden?" - Nicht angehakt

Das ist fiktiver Code - Wir fügen dem Control noch einige Literale mit HTML Code hinzu um das ganze schön zu formatieren.

Beispiel: Literale mit </td><td> wenn ganz oben eine Tabelle aufgemacht wird und am Ende eben ein </tr><tr> z.b. dann ist die Anzeige eben als Tabelle oder <br> um Zeilenumbrüche zu erzeugen usw.

Hoffe das ist als Beispiel-Code tauglich ;)

Edit: Achja der Code ist C# ;)

Geschrieben

Hi,

du musst es nicht unbedingt mit der Funktion myPanel.Controls.Add("myCheckbox"); lösen. Es gibt in ASP.NET ein Control mit dem Namen CheckBoxList. Dieser Liste kannst du ganz einfach neue Checkboxen hinzufügen. Nur so als Tipp am Rande. Kannst dir ja aussuchen wie du es lösen möchtest. :)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...