Avatar billede Slettet bruger
18. oktober 2005 - 16:21 Der er 1 kommentar og
1 løsning

Dynamisk oprettelse af checkboxes

Hejsa,

Jeg sidder med et problem, der går ud på at jeg fra min Page_Load henter et dataset fra en anden klasse, hvorefter jeg i en ASP-table udskriver rækker (der oprettes dynamisk for hver post i datasettet) med nogle af værdierne fra datasettet.

Jeg vil nu gerne kunne tilføje en checkbox kontrol til hver række med et unikt id, der ved ændring af værdien (autopostback) skal kalde en eventhandler hvor posten i databasen med det medsendte id skal opdateres til enten true eller false afhængig af om checkboxen er checked eller ikke checked.

Jeg har forsøgt med noget ale (sakser det mest relevante ind):

protected System.Web.UI.WebControls.CheckBox checkbox_KundeStatus;

for(int i = 0; i < dsKunder.Tables["Kunder"].Rows.Count; i++)
            {
                if(rowcolor == "#f5f6f6")
                    rowcolor = "#ffffff";
                else
                    rowcolor = "#f5f6f6";

                TableRow row = new TableRow();

                // Firma cellen tilføjes
                TableCell firmaCell = new TableCell();
                firmaCell.Width = 350;
                firmaCell.BackColor = Color.FromName(rowcolor);
                firmaCell.Text = "<b>" + dsReseller.Tables["Kunder"].Rows[i]["Firmanavn"].ToString() + "</b>";
                row.Cells.Add(firmaCell);

                // Link cellen tilføjes
                TableCell linkCell = new TableCell();
                linkCell.Width = 100;
                linkCell.HorizontalAlign = HorizontalAlign.Center;
                linkCell.VerticalAlign = VerticalAlign.Middle;
                linkCell.BackColor = Color.FromName(rowcolor);
                linkCell.Text = "Test";
                row.Cells.Add(linkCell);

                // Generer checkbox med dynamisk værdi
                checkbox_KundeStatus = new CheckBox();
                checkbox_KundeStatus.AutoPostBack = true;
                checkbox_ReSellerStatus.ID = dsKunder.Tables["Kunder"].Rows[i]["kundeId"].ToString();
                checkbox_KundeStatus.Text = "Skift status";

                // Checkbox cellen tilføjes
                TableCell checkboxCell = new TableCell();
                checkboxCell.Width = 100;
                checkboxCell.HorizontalAlign = HorizontalAlign.Center;
                checkboxCell.VerticalAlign = VerticalAlign.Middle;
                checkboxCell.BackColor = Color.FromName(rowcolor);
                checkboxCell.Controls.Add(checkbox_KundeStatus);
                row.Cells.Add(checkboxCell);

                Table_Kunder.Rows.Add(row);

****************************************

Planen er så at når man checker eller unchecker én af checkboksene i listen ud for den aktuelle kunde skal der kaldes en eventhandler-metode der så opretterde nødvendige objekter og opdaterer kunden i databasen.
Avatar billede Slettet bruger
18. oktober 2005 - 16:23 #1
Kan se at min kode er blevet en smule uklar.
Der hvor der står ReSeller skal der altså stå kunde :-) Har saket et tidligere eksempel hvor navnene så (nogen steder) er ændret med succes.
Avatar billede Slettet bruger
16. oktober 2007 - 16:48 #2
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester