将超链接列从数据表添加到网格视图
本文关键字:网格 视图 添加 数据表 超链接 | 更新日期: 2023-09-27 18:31:46
我得到了这个:
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"+ funcion。IndexOf[f] + ".aspx" 或类似的东西。我认为那将是一个超链接列或其他东西,但我似乎无法使其工作。
这个想法是填充 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 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();