2016-06-27 3 views
0

Ich habe eine Rasteransicht. Datentabelle ist die Datenquelle.Dynamische Verbindung in Gridview C#

Ich suche nach einer Lösung, wo ich Links zu Gridview Spalte hinzufügen kann. Aber nicht durch Erstellen von Hyperlink-Feldern oder gar nicht mit Designer-Teilen.

Dies ist eine allgemeine Gridview, die dynamische Daten einschließlich Spalten erhält.

Nicht notwendig jede Datenquelle wird 'Name' Spalte haben, die mein Ziel als Hyperlink ist.

Ich kann <a href='...'>text</a> generieren, aber es wird angezeigt, wie in Gridview ist.

HTML-Block:

<asp:GridView ID="gvCommonDashboard" runat="server"> 

</asp:GridView> 

-Code Behind:

foreach (DataRow dr in dt.Rows) 
{       
    string name = Convert.ToString(dr["Name"]); 

    string url = SPContext.Current.Web.Url + listName + "/" + name; 
    dr["Name"] = string.Format("<a href='" + url + "'>" + name + "</a>"); 

} 
dt.AcceptChanges();          

gvCommonGrid.DataSource = dt; 
gvCommonGrid.DataBind(); 
gvCommonGrid.Visible = true; 
+0

Warum verwenden Sie keinen Hyperlink –

+0

Sie meinen Hyperlink-Feld? – Gaurravs

+0

yea Hyperlink Feld oder Hyperlink innerhalb der Vorlage Feld –

Antwort

1

Sie können den Link in RowDataBound Ereignisse des Gridview bauen -

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     string decodedText = HttpUtility.HtmlDecode(e.Row.Cells[CellIndex].Text); 
     e.Row.Cells[CellIndex].Text = decodedText; 
    } 
} 

Ändern der CellIndex Ihre tatsächliche Zellindexnummer.

+0

arbeitete für mich. Vielen Dank – Gaurravs

0

Sie String-Format kann mit

string.Format("<a href='" + fullPath + "'>Text</a>"); 

Ich habe versucht, für mich diese seine Werke fein .

+0

Ich versuchte dies, aber nicht funktioniert – Gaurravs