我是C#,ASP.NET的新手。 我正在创建一个小应用程序,我想列出一些数据。
下面提到的函数用3列数据绑定数据。
属性名称,属性' ReferenceID'和发布日期。
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>
我想显示两个额外的列以及这些数据。 一个是'#No。&#39;作为每行的序列号,另一列是“动作”,它就像一个超链接,当我点击此处页面必须重定向到基于&#39; property_ReferenceID&#39;相应的行。
如何添加列运行时间?
答案 0 :(得分:0)
这里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;