[英]Adding a HyperLink column to a GridView from a DataTable
我懂了:
public partial class VerAgenda : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<Funcion> fun = Festival.Instancia.ListaFunciones;
DataTable dt = new DataTable();
if (fun.Count() == 0)
mensaje.InnerText = "No hay funciones disponibles";
dt.Columns.Add(new DataColumn("Espectaculo", typeof(string)));
dt.Columns.Add(new DataColumn("Fecha", typeof(string)));
dt.Columns.Add(new DataColumn("Hora", typeof(string)));
dt.Columns.Add(new DataColumn("Sala", typeof(string)));
dt.Columns.Add(new DataColumn("Detalles", typeof(string)));
foreach (Funcion f in fun)
{
string pais = "";
while (pais == "")
{
List<Espectaculo> esp = Festival.Instancia.ListaEspectaculos;
int es = 0;
while (es < esp.Count() && pais == "")
{
if (esp[es].Nombre == f.Espectaculo)
pais = esp[es].Pais;
es++;
}
}
string link = "test";
dt.Rows.Add(f.Espectaculo, f.Fecha, f.HoraIni, pais, link);
tblAgenda.DataSource = dt;
tblAgenda.DataBind();
this.tblAgenda.Visible = true;
}
}
}
}
對於此標記:
<asp:GridView ID="tblAgenda" runat="server">
</asp:GridView>
看中,我知道。 我需要知道如何向每行添加一個URL,並根據列表中的詳細信息對其進行格式設置(例如:“ / xxx.aspx?funcion” + fun.IndexOf [f] +“。aspx”或類似內容。我認為那可能是一個HyperLinkColumn之類的東西,但是我似乎無法使其正常工作。
這個想法將是填充GridView服務器端...它現在可以很好地用於字符串。
我意識到這是一個新手問題,但我真的很感謝您的幫助...
提前致謝。
您需要將列添加到GridView
並使用HyperLinkField ,如下所示:-
<asp:GridView ID="tblAgenda" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField HeaderText="Name" DataField = "Name" />
<asp:HyperLinkField DataTextField="Name" DataNavigateUrlFields="Id" DataNavigateUrlFormatString="~/xyz.aspx?Id={0}" HeaderText="Name"/>
----Other columns
</Columns>
</asp:GridView>
編輯:
使用DataTable將其綁定,如下所示:-
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id"), new DataColumn("Name") });
dt.Rows.Add(1, "Pam);
dt.Rows.Add(2, "Richard");
dt.Rows.Add(3, "Mary");
tblAgenda.DataSource = dt;
tblAgenda.DataBind();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.