GridView automatisch gefüllt und zusätzliches Link-Feld

05/05/2009 - 10:32 von Christian Stüben | Report spam
Hallo allerseits,
ich habe auf einer Webseite ein GridView, welches ich über ein DataSet
fülle. Funktioniert soweit ganz gut.

Zusàtzlich möchte ich gerne in jeder Zeile einen Link anzeigen, den ich
vorher im Dataset erzeugt habe. Aaaaaber ... der Link wird im Gridview nicht
als Link angezeigt, sondern als Klartext. Also mit sichtbaren <a href="...

Was kann ich tun, um den Link als Link angezeigt zu bekommen? Muß ich vor
dem Databind im Dataset etwas in der Colums verstellen, muß ich nach dem
DataBind im Gridview etwas anpassen?



bisheriger code (visual studio 2005):

abfrage.executescalar();
ds = new dataset ();
da.fill (ds);
ds.tables[0].colums.add("bearbeiten");
// hier im ds die column "bearbeiten" anpassen? wenn ja wie?
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

{

ds.Tables[0].Rows[i]["bearbeiten"] = "<a
href=\"http://www.meinedomaene.de/bearbeit...?ui=" +
ds.Tables[0].Rows[i]["ui"].ToString() + "\">" + ds.Tables[0].Rows[i]["name"]
+ " bearbeiten</a>";

};

gv.datasource = ds;

gv.datamember=ds.Tables[0].TableName.ToString();

gv.databind ();

// oder hier im griedview ? wenn ja wie?




Danke im Voraus!
mfg Chris
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
05/05/2009 - 11:24 | Warnen spam
Hallo Christian,

"Christian Stüben" schrieb:

ich habe auf einer Webseite ein GridView, welches ich über ein DataSet fülle. Funktioniert soweit ganz gut.



nutzt Du AutoGenerateColumns="True"? Falls ja, wàre die einfachste Lösung,
die mir grade einfàllt, einfach eine zusàtzliche Spalte an die DataTable
zu hàngen (Type String, Inhalt egal, kann auch leer sein) und dann folgendes
zu machen:

Private Sub <GridView>_RowDataBound( ... ) Handles <GridView>.RowDataBound

If e.Row.RowType <>DataControlRowType.DataRow Then
Exit Sub
End If

Dim MyHyperLink As New HyperLink()
MyHyperLink.NavigateUrl = String.Format( "~/bearbeite.aspx?ui={0}", e.Row.DataItem( "ui" ) )
MyHyperLink.Text = e.Row.DataItem( "name" )

e.Row.Cells( <ZellenIndex> ).Controls.Add( MyHyperLink )

End Sub

Schöner wàrs natürlich, wenn Du nicht mit AutoGenerateColumns arbeiten würdest,
dann hast Du auch mehr bzw. einfacheren Einfluss auf die Gestaltung, Inhalte,
...

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen