Soweit ich das verstehe willst du einfach
wissen welches Image(Status) gedr�ckt wurde, stimmt das?

--------
Online Consulting AG, Oliver Waterkamp, 
Weststrasse 38, CH-9500 Wil
.Net Programmierer
Phone +41 (0)71 913 31 31, Fax +41 (0)71 913 31 32
http://www.oc-ag.ch, <mailto:[EMAIL PROTECTED]>
--------



-----Urspr�ngliche Nachricht-----
Von: Serge Runge [mailto:[EMAIL PROTECTED]]
Gesendet: Samstag, 29. Dezember 2001 17:34
An: aspDEdotnet
Betreff: [aspdedotnet] Eventhandler


Hallo Liste,

Ich hab eine Table Webcontrol dynamisch mit Daten aus einer db gef�llt
und
in einer Spalte 'Status' pro Zeile einen ImageButton aus einem Array
imgbtnStatus[] eingef�gt (per add zur ControlsCollection). Da das ganze
im
CodeBehind stattfindet, muss ich auch den Eventhandler f�r das
CommandEvent
eigens herleiten. Leider ergibt der folgende Code aber einen Fehler:
Egal
welcher der Buttons gedr�ckt wird....Command-Event, CommandName und
CommandArgument sind immer gleich, obwohl jeder Instanz in
imgbtnStatus[]
explizit was verschiedenes zugewiesen wurde...das heisst es wird immer
nur
der oberste Button von dem EventReceiver (der Funktion
imgbtnStatus_Command)
ver�ndert, egal ob Click auf Button 1, 2 oder 3.

Danke schonmal und guten Rutsch
Serge

Code:
protected ImageButton[] imgbtnStatus;

....

public void Page_Load(EventArgs e)

{....


// <ItemTemplate> der Table (�hnlich Repeater Control )

imgbtnStatus = new ImageButton[ds.Tables["acc"].Rows.Count];


....

int i = 0;

foreach(DataRow rowItem in ds.Tables["acc"].Rows )

{

    r = new TableRow();

    c = new TableCell();

    c.Controls.Add(new LiteralControl("<p>"+ rowItem["Name"].ToString()
+"</p>") );

    r.Cells.Add(c);

    c = new TableCell();

    c.Controls.Add(new LiteralControl("<p>"+
rowItem["Description"].ToString() +"</p>") );

    r.Cells.Add(c);

    imgbtnStatus[i] = new ImageButton();

    imgbtnStatus[i].ID = rowItem["Name"].ToString();

    imgbtnStatus[i].ImageUrl = "../img/item." +
rowItem["Status"].ToString()
+ ".bmp";

    imgbtnStatus[i].AlternateText = rowItem["Status"].ToString() +
i.ToString();

    imgbtnStatus[i].Command += new
CommandEventHandler(this.imgbtnStatus_Command);

    imgbtnStatus[i].CommandName = "start";

    imgbtnStatus[i].CommandArgument = i.ToString();

    c = new TableCell();

    c.Controls.Add(imgbtnStatus[i]);

    r.Cells.Add(c);

    tblStartNew.Rows.Add(r);

    i++;

}

// </ItemTemplate>

}



public void imgbtnStatus_Command(object sender, CommandEventArgs e)

{

imgbtnStatus[Convert.ToInt32(e.CommandArgument)].ImageUrl =
"../img/item.clicked.bmp";

}



| [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

Antwort per Email an