Laden...

Checkbox an Datensatz binden - Webshop

Erstellt von Ophideo vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.607 Views
O
Ophideo Themenstarter:in
4 Beiträge seit 2006
vor 17 Jahren
Checkbox an Datensatz binden - Webshop

Hi, ich bin neu hier und hätte gleich mal eine Frage 🙂:

Also:

Ich programmiere gerade an einem Webshop und habe folgende Frage:

Ich habe ein Gridview das an eine SQL Datenbank gebunden ist:



MySql.Data.MySqlClient.MySqlDataAdapter adapter = new MySql.Data.MySqlClient.MySqlDataAdapter("Select PNr AS Produktnummer,Bez AS Bezeichnung,Besch AS Beschreibung,Preis from Produkte", (MySql.Data.MySqlClient.MySqlConnection)Session["Connection"]); 
             System.Data.DataSet data = new DataSet();
             adapter.Fill(data);
             this.GridView1.DataSource = data;
             this.GridView1.DataBind();          


und ich habe in diesem Gridview ein Template erstellt welches Checkboxen beinhaltet:


<asp:TemplateField>
                    <HeaderStyle HorizontalAlign="Left" />
                    <HeaderTemplate>
                    <asp:CheckBox ID="CheckboxHead" ToolTip="Klicken Sie hier um alle Zeilen auszuwählen" runat="server" Checked="false"  />
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:Checkbox runat="server" ID="Checkbox" checked="false" ToolTip="Eine Zeile auswählen" />
                    </ItemTemplate>
                </asp:TemplateField>

nun das Problem:

  1. Ich kann nicht von der aspx.cs Seite auf die Checkboxen zugreifen
  2. Ich kapiere es einfach nicht wie ich die Checkboxen an den Datensatz anbinden kann.

Wäre nett wenn mir jemand helfen kann.

mfg Martin

C# for the win

C# for the win

C
1.215 Beiträge seit 2004
vor 17 Jahren

<asp:TemplateField>
    <HeaderStyle HorizontalAlign="Left" />
    <HeaderTemplate>
        <asp:CheckBox ID="CheckboxHead" ToolTip="Klicken Sie hier um alle Zeilen auszuwählen" runat="server" Checked="false"  />
    </HeaderTemplate>
    <ItemTemplate>
        <asp:Checkbox runat="server" ID="Checkbox" checked="<%# Eval("Name_der_Spalte")%>" ToolTip="Eine Zeile auswählen" />
    </ItemTemplate>
</asp:TemplateField>

Das machst Du z. B. so...

Grüsse

O
Ophideo Themenstarter:in
4 Beiträge seit 2006
vor 17 Jahren

Das habe ich gemacht, und dann kam aber die Meldung: Servertag falsch formatiert:


 <asp:Checkbox runat="server" ID="Checkbox" checked="<%# Eval("PNr")%>" ToolTip="Eine Zeile auswählen" />

Du meinst doch die Spalte die ich anbinden will, oder?

mfg martin

C# for the win

1.130 Beiträge seit 2005
vor 17 Jahren

Hallo Ophideo,

versuch mal so:


<asp:Checkbox runat="server" ID="Checkbox" checked='<%# Eval("PNr")%>' ToolTip="Eine Zeile auswählen" /> 

O
Ophideo Themenstarter:in
4 Beiträge seit 2006
vor 17 Jahren

Ja, funktioniert, danke.

Und wie rufe ich jetzt die Checkbox auf, ich will nämlich die ausgewählten Datensätze in ein Array schreiben um sie später im Warenkorb wieder auszulesen? Ich kann nämlich lustigerweise nicht drauf zugreifen. Tut mir leid wenn ich jetzt etwas nervig klinge, aber ich kenne mich mit Templates genau null aus.

mfg Martin

C# for the win

O
Ophideo Themenstarter:in
4 Beiträge seit 2006
vor 17 Jahren

Meine letzte Frage:

Ich habe eine Checkboxlist, in dieser sind alle Datensätze aus der Datenbank.

Wenn man jetzt die Checkbox anklickt wird die Produktnummer in ein dynamisches array geladen.

Was muss ich in der Schleife tun, dass mehrere Produktnummern von selektierten Checkboxen in das Array geladen werden?

C# for the win