Datatable绑定GridView[转]
基本步骤:
1.先创建一个名为"ds"的Datset
2.再创建一个名为"dt"的Datatable
3.为dt创建Column
4.创建一个名为“dr”的DataRow,使用dr.add()添加,dt.newrow添加新行。
5.向ds中添加dt
6.Datatable数据绑定控件GridView
1dg.DataSource = ds;
2dg.DataBind();
2dg.DataBind();
Code
1 <asp:GridView ID="dg" runat="server" AutoGenerateColumns="False" BorderWidth="0px">
2 <Columns>
3 <asp:BoundField HeaderText="id" DataField="id" ReadOnly="True" ShowHeader="False">
4 </asp:BoundField>
5 <asp:BoundField HeaderText="名字" DataField="name" HtmlEncode="False"></asp:BoundField>
6 <asp:TemplateField HeaderText="图片">
7 <EditItemTemplate>
8 <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("img") %>'></asp:TextBox>
9 </EditItemTemplate>
10 <ItemTemplate>
11 <asp:Label ID="Label1" runat="server" Text='<%# Bind("img") %>'></asp:Label>
12 </ItemTemplate>
13 </asp:TemplateField>
14 <asp:ImageField HeaderText="图片" DataImageUrlField="img">
15 <ControlStyle Width="100px" Height="100px" />
16 </asp:ImageField>
17 <asp:BoundField HeaderText="时间" DataField="timer" DataFormatString="{0:d}"></asp:BoundField>
18 </Columns>
19 </asp:GridView>
1 <asp:GridView ID="dg" runat="server" AutoGenerateColumns="False" BorderWidth="0px">
2 <Columns>
3 <asp:BoundField HeaderText="id" DataField="id" ReadOnly="True" ShowHeader="False">
4 </asp:BoundField>
5 <asp:BoundField HeaderText="名字" DataField="name" HtmlEncode="False"></asp:BoundField>
6 <asp:TemplateField HeaderText="图片">
7 <EditItemTemplate>
8 <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("img") %>'></asp:TextBox>
9 </EditItemTemplate>
10 <ItemTemplate>
11 <asp:Label ID="Label1" runat="server" Text='<%# Bind("img") %>'></asp:Label>
12 </ItemTemplate>
13 </asp:TemplateField>
14 <asp:ImageField HeaderText="图片" DataImageUrlField="img">
15 <ControlStyle Width="100px" Height="100px" />
16 </asp:ImageField>
17 <asp:BoundField HeaderText="时间" DataField="timer" DataFormatString="{0:d}"></asp:BoundField>
18 </Columns>
19 </asp:GridView>
Code
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public partial class dataset_datatable : System.Web.UI.Page
13{
14 protected void Page_Load(object sender, EventArgs e)
15 {
16 if (!IsPostBack)
17 {
18 DataSet ds = new DataSet("ds_dry");//创建一个名为ds_dry的DataSet
19 DataTable dt = new DataTable("dt_dry");//创建一个名为dt_dry的DataTalbe
20 dt.Columns.Add(new DataColumn("id", typeof(int)));//为dt_dry表内建立Column
21 dt.Columns.Add(new DataColumn("name", typeof(string)));
22 dt.Columns.Add(new DataColumn("img", typeof(string)));
23 dt.Columns.Add(new DataColumn("timer", typeof(DateTime)));
24 DataRow dr = dt.NewRow();//注意这边创建dt的新行的方法。指定类型是DataRow而不是TableRow,然后不用new直接的用创建的DataTable下面的NewRow方法。
25 dr["id"] = 1;
26 dr["name"] = "AA";
27 dr["img"] = "~/img/1.png";
28 dr["timer"] = DateTime.Now;
29 dt.Rows.Add(dr);
30 dr = dt.NewRow();
31 dr["id"] = 2;
32 dr["name"] = "bb";
33 dr["img"] = "~/img/2.png";
34 dr["timer"] = DateTime.Now;
35 dt.Rows.Add(dr);
36 dr = dt.NewRow();
37 dr["id"] = 3;
38 dr["name"] = "cc";
39 dr["img"] = "~/img/3.png";
40 dr["timer"] = DateTime.Now;
41 dt.Rows.Add(dr);
42 dr = dt.NewRow();
43 dr["id"] = 4;
44 dr["name"] = "<b>dd</b>";
45 dr["img"] = "~/img/4.png";
46 dr["timer"] = DateTime.Now;
47 dt.Rows.Add(dr);
48 dr = dt.NewRow();
49 dr["id"] = 5;
50 dr["name"] = "ee";
51 dr["img"] = "~/img/5.png";
52 dr["timer"] = DateTime.Now;
53 dt.Rows.Add(dr);
54 ds.Tables.Add(dt);//别忘记向ds中添加table
55 Session["ds"] = ds;//存储在sessin里面,方便下面调用
56 fill();
57 }
58 }
59
60 private void fill()
61 {
62 DataSet ds = (DataSet)Session["ds"];//进行强制类型转换
63 dg.DataSource = ds;
64 dg.DataBind();
65 }
66}
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public partial class dataset_datatable : System.Web.UI.Page
13{
14 protected void Page_Load(object sender, EventArgs e)
15 {
16 if (!IsPostBack)
17 {
18 DataSet ds = new DataSet("ds_dry");//创建一个名为ds_dry的DataSet
19 DataTable dt = new DataTable("dt_dry");//创建一个名为dt_dry的DataTalbe
20 dt.Columns.Add(new DataColumn("id", typeof(int)));//为dt_dry表内建立Column
21 dt.Columns.Add(new DataColumn("name", typeof(string)));
22 dt.Columns.Add(new DataColumn("img", typeof(string)));
23 dt.Columns.Add(new DataColumn("timer", typeof(DateTime)));
24 DataRow dr = dt.NewRow();//注意这边创建dt的新行的方法。指定类型是DataRow而不是TableRow,然后不用new直接的用创建的DataTable下面的NewRow方法。
25 dr["id"] = 1;
26 dr["name"] = "AA";
27 dr["img"] = "~/img/1.png";
28 dr["timer"] = DateTime.Now;
29 dt.Rows.Add(dr);
30 dr = dt.NewRow();
31 dr["id"] = 2;
32 dr["name"] = "bb";
33 dr["img"] = "~/img/2.png";
34 dr["timer"] = DateTime.Now;
35 dt.Rows.Add(dr);
36 dr = dt.NewRow();
37 dr["id"] = 3;
38 dr["name"] = "cc";
39 dr["img"] = "~/img/3.png";
40 dr["timer"] = DateTime.Now;
41 dt.Rows.Add(dr);
42 dr = dt.NewRow();
43 dr["id"] = 4;
44 dr["name"] = "<b>dd</b>";
45 dr["img"] = "~/img/4.png";
46 dr["timer"] = DateTime.Now;
47 dt.Rows.Add(dr);
48 dr = dt.NewRow();
49 dr["id"] = 5;
50 dr["name"] = "ee";
51 dr["img"] = "~/img/5.png";
52 dr["timer"] = DateTime.Now;
53 dt.Rows.Add(dr);
54 ds.Tables.Add(dt);//别忘记向ds中添加table
55 Session["ds"] = ds;//存储在sessin里面,方便下面调用
56 fill();
57 }
58 }
59
60 private void fill()
61 {
62 DataSet ds = (DataSet)Session["ds"];//进行强制类型转换
63 dg.DataSource = ds;
64 dg.DataBind();
65 }
66}