简体   繁体   English

在ASP.NET(C#)中向Gridview动态添加行

[英]Dynamically adding rows to the Gridview in ASP.NET(C#)

        <asp:GridView ID="GridView1" runat="server">
        <Columns>
            <asp:TemplateField HeaderText="FileName">
                <ItemTemplate>
                    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="" Text=""></asp:HyperLink>
                </ItemTemplate>
            </asp:TemplateField>
     </Columns>
    </asp:GridView>


aspx.cs file aspx.cs文件

    SqlCommand comm = new SqlCommand(Select 
        FileUpload.FileName AS FileName,
        FileUpload.FilePath AS PATH,
        SubjectMaster.SubjectName AS Subject,
        MemberPersonalInformation.FirstName As SharedBy 
    from FileUpload",conn)

I need to print FileName(As Hyperlink) , SharedBy , Subject in the Grid how can I do that? 我需要在网格中打印FileName(As Hyperlink)SharedBySubject ,我该怎么做?
I need to do something like this...But below approach not working 我需要做这样的事情...但是下面的方法不起作用

        conn.Open();
        SqlDataReader rdr = comm.ExecuteReader();

        int i = 0;
        while (rdr.Read())
        {

            string fip = rdr["PATH"].ToString();
           HyperLink h1 = (HyperLink)GridView1.Rows[i].Cells[0].FindControl("Hyperlink1");
                h1.Text = rdr["FileName"].ToString();
                h1.NavigateUrl = "download.aspx?filepath=" + fip;

                GridView1.Rows[i].Cells[1].Text = rdr["SharedBy"].ToString();
                GridView1.Rows[i].Cells[2].Text = rdr["Subject"].ToString();
                GridView1.Rows[i].Cells[3].Text = rdr["PATH"].ToString();
                //GridView1.Rows[i].Rows.Add(di);

              i++;

        }

Try this: 尝试这个:

<asp:GridView ID="GridView1" runat="server">
  <Columns>
    <asp:TemplateField HeaderText="FileName">
      <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#Eval("PATH")%>' Text='<%#Eval("FileName")%>'></asp:HyperLink>,
        <asp:Literal ID="Literal1" runat="server" Text='<%#Eval("SharedBy")+", "+ Eval("Subject")%>' />
      </ItemTemplate>
    </asp:TemplateField>
  </Columns>
/asp:GridView>

In the cs you can bind the grid view with your query like this: 在cs中,您可以像这样将网格视图与查询绑定:

conn.Open();
SqlCommand comm = new SqlCommand("your query");
SqlDataReader rdr = comm.ExecuteReader(CommandBehavior.CloseConnection);
GridView1.DataSource = rdr;
GridView1.DataBind();
rdr.close();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM