自定义数据网格视图运行时

本文关键字:视图 运行时 网格 数据网 数据 自定义 | 更新日期: 2023-09-27 18:32:12

我是C#,ASP.NET的新手。我正在创建一个小应用程序,我想在其中列出一些数据。

下面提到的函数将数据绑定 3 列。

媒体资源

名称、媒体资源"参考 ID"和发布日期。

  using (SqlConnection con = new SqlConnection(strConnString))
            {
                using (SqlCommand cmd = new SqlCommand("PROC_RECENT_HISTORY_HEADER"))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@id", Member);
                    cmd.Connection = con;
                    con.Open();
                    reader = cmd.ExecuteReader();
                    GridView1.DataSource = reader;
                    GridView1.DataBind();
                    con.Close();
                }

Asp.net

 <asp:GridView ID="GridView1" runat="server"  class="form-control" Width="100%"  ViewStateMode="Enabled" AutoGenerateColumns = "false">
                 <Columns> 
                     <asp:BoundField DataField="PRP_NAME" HeaderText="Property Name"/>      
                     <asp:BoundField DataField="PRP_REF_NO" HeaderText="Reference"/>
                     <asp:BoundField DataField="PRP_CRDT" HeaderText="Post Date"/>  
                 </Columns>     
             </asp:GridView>

我想显示两个额外的列以及这些数据。一个是"否"作为每行的序列号,另一列是"操作",它就像一个超链接,当我单击此处页面时,必须重定向到基于相应行的"property_ReferenceID"的操作。

如何添加列运行时?

自定义数据网格视图运行时

这里 GridView1.DataSource = reader;如果它由 3 列组成,那么它将与 3 列数据绑定。

步骤 1:通过添加列手动创建列步骤 2:将数据存储到数据表中

   DataTable datatable = new DataTable();
   datatable.Load(cmd.ExecuteReader());

步骤3:循环访问数据表中的每个对象

        DataTable dt= new DataTable();
        DataColumn dc1 = new DataColumn("PropertyName");
        DataColumn dc2 = new DataColumn("PropertyID"); 
        DataColumn dc3 = new DataColumn("Postdate");
        DataColumn dc4 = new DataColumn("columnName4");
        DataColumn dc5 = new DataColumn("columnName5");
        dt.Columns.Add(dc1);
        dt.Columns.Add(dc2);
        dt.Columns.Add(dc3);
        dt.Columns.Add(dc4);
        dt.Columns.Add(dc5);
        foreach (DataRow row in datatable.Rows)
        {
            DataRow dr = dt.NewRow();
            dr[0] = row[propertyname];
            dr[1] = row[Propertytype];
            dr[2] = row[postdate];
            dr[3] = "YES";
            dr[4] = "NO";
            dt.Rows.Add(dr);
        }
        GridView1.DataSource = dt;