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