GridView onRowCreated - Zugriff auf Controlls

15/04/2008 - 10:25 von Adrian Stern | Report spam
Hallo zusammen

Bei einer GridView, welche mehrere Controlls enthàlt, möchte ich diese
in Bestimmten Fàllen ausblenden.

Im RowCreated Event kann ich zwar über die EventArgs auf die Row
zugreiffen, aber ich komme nicht an das Control ran. Weder über die
FindControl()-Methode noch über eine Selbstgeschriebene Rekursive.


((LinkButton)e.Row.FindControl("lbtnDelete")).Visible = true;

((LinkButton)FindControlRecursive(e.Row, "lbtnDelete")).Visible = false;

private Control FindControlRecursive(Control root, string id)
{
if (root.ID == id)
{
return root;
}
foreach (Control c in root.Controls)
{
Control t = FindControlRecursive(c, id);
if (t != null)
{
return t;
}
}
return null;
}

Die Controlls befinden sich in einem TemplateField ItemTemplate.

Danke schonmal und
mfg

Adrian Stern
 

Lesen sie die antworten

#1 Adrian Stern
15/04/2008 - 10:41 | Warnen spam
Adrian Stern schrieb:
Hallo zusammen

Bei einer GridView, welche mehrere Controlls enthàlt, möchte ich diese
in Bestimmten Fàllen ausblenden.

Im RowCreated Event kann ich zwar über die EventArgs auf die Row
zugreiffen, aber ich komme nicht an das Control ran. Weder über die
FindControl()-Methode noch über eine Selbstgeschriebene Rekursive.


((LinkButton)e.Row.FindControl("lbtnDelete")).Visible = true;

((LinkButton)FindControlRecursive(e.Row, "lbtnDelete")).Visible = false;

private Control FindControlRecursive(Control root, string id)
{
if (root.ID == id)
{
return root;
}
foreach (Control c in root.Controls)
{
Control t = FindControlRecursive(c, id);
if (t != null)
{
return t;
}
}
return null;
}

Die Controlls befinden sich in einem TemplateField ItemTemplate.

Danke schonmal und
mfg

Adrian Stern



In der HeaderLine waren natürlich keine Controls ... habs gelöst.

Ähnliche fragen