簡體   English   中英

將超鏈接列從數據表添加到GridView

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM