Avatar billede henrik_bs Nybegynder
24. april 2005 - 11:49 Der er 5 kommentarer og
1 løsning

Tilføje ekstra kolonne med knapper til eksisterende DataTable

Hej
Jeg ønsker at tilføje en kolonne til min datatable, Denne kolonne skal indeholde knapper til at redigere, slette og se en datarække. Mit problem er, at jeg er i tvivl hvordan jeg tilføjer denne ekstra kolonne med knapper.

Jeg har allerede understående kode :

private void BuildImageButton(TableRow row, string cArg, string type)
        {
            ImageButton ibn = new ImageButton();

            ibn.Command += new CommandEventHandler(this.btn_Click);
            if (type.Equals("view"))
            {
                ibn.ImageUrl = "../Images/viewButton.gif";
                ibn.AlternateText="view Account";
                ibn.Attributes.Add("OnMouseOver", "this.src='../Images/viewButton_hover.gif'");
                ibn.Attributes.Add("OnMouseOut", "this.src='../Images/viewButton.gif'");
            }
            else if (type.Equals("edit"))
            {
                ibn.ImageUrl = "../Images/editButton.gif";
                ibn.AlternateText="edit Acount";
                ibn.Attributes.Add("OnMouseOver", "this.src='../Images/editButton_hover.gif'");
                ibn.Attributes.Add("OnMouseOut", "this.src='../Images/editButton.gif'");
            }
            else
            {
                ibn.ImageUrl = "../Images/deleteButton.gif";
                ibn.AlternateText="delete Account";
                ibn.Attributes.Add("OnMouseOver", "this.src='../Images/deleteButton_hover.gif'");
                ibn.Attributes.Add("OnMouseOut", "this.src='../Images/deleteButton.gif'");
            }
                       
            ibn.CommandArgument = cArg;

            TableCell cell = new TableCell();
            cell.Controls.Add(ibn);
            cell.HorizontalAlign = HorizontalAlign.Center;
            cell.VerticalAlign  = VerticalAlign.Middle;
           
            row.Cells.Add(cell);           
           
        }

private void Page_Load(object sender, System.EventArgs e)
        {
            DataTable dt = company.GetCompany();           
            dt.Columns.Add("Funktioner");

            foreach(DataRow dr in dt.Rows)
            {
                BuildImageButton(row, "CompanyView.aspx?CID=" + dr["CompanyID"].ToString(),"view");
                BuildImageButton(row, "CompanyUpdate.aspx?CID=" + dr["CompanyID"].ToString(),"edit");
                BuildImageButton(row, "CompanyRemove.aspx?CID=" + dr["CompanyID"].ToString(),"delete");
            }
        }
Avatar billede snepnet Nybegynder
24. april 2005 - 12:17 #1
halløjsa :o)

et datagrid giver mulighed for pr. template (eller programmatisk) at tilføje den slags.... er der nogen speciel årsag til at du ikke benytter sådan et ?

mvh
Avatar billede snepnet Nybegynder
24. april 2005 - 12:20 #2
(en datatable er som udgangpunkt ikke ment som en container for kontroller, så jeg synes det er en lidt speciel løsning af lægge sådan nogle ind i selve datataballen).
mvh
Avatar billede henrik_bs Nybegynder
24. april 2005 - 12:24 #3
Hej
jeg har som du skriver løst det vha template
Læg et svar, så får du point for ulejligheden

mvh
Henrik
Avatar billede snepnet Nybegynder
24. april 2005 - 12:27 #4
ok ... du kan jo bare skrive her, hvis du løber ind i problemer... jeg skal nok holde øje med spørgsmålet.
mvh
Avatar billede henrik_bs Nybegynder
24. april 2005 - 14:21 #5
Hej Igen

Nu har jeg lagt mine imagebuttons ind i en <ItemTemplate> på datagrid'et
mit problem er nu at jeg ønsker at tilgå disse imagebuttons i codebehind filen men lige meget havd jeg gør kan jeg ikke tilgå dem.
Avatar billede snepnet Nybegynder
24. april 2005 - 14:49 #6
du kan godt få fat i dem hvis du vil - f.eks.:
hvis du har det i et datagrid kan du så :

Button btn = (Button)someItem.Cells[index på knapcell].Controls[index på knapkontrollen i cellen];

men hvad er årsagen til at du vil tilgå knappen direkte ?
er det ikke mere evented (fra klikket) du ønsker at samle op ?

mvh
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