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

Antwort per Email an