来公司打了两个多月的酱油终于从这个月开始接触了一点小业务,但是我却发现我们公司不仅用DataTable用的多,而且GridView这个控件基本上每个页面都在用。个人觉得控件虽然用起来简单,也可以直接用工具来进行设计页面,但是终究还是没有js和css设计页面那么灵活。
算了不发这些牢骚,毕竟我在这个公司呆着就得遵循公司的开发原则。哈哈哈哈哈哈哈。
那下面我对刚从零开始接触的C#的遇到的我觉得比较重要的进行小结一下,上面也说到了,就是DataTable和GridView。
先说DataTable吧,通俗易懂的说法:DataTable是一个临时保存数据的网络虚拟表(表示内存中数据的一个表)。个人理解,DataTable的结构就像简化版的数据库的表。经常用到的属性为:Rows(行),Columns(列),TableName(表名)。而一个DataSet里是可以有多个DataTable的。
//创建一个名为Test的DataTable
System.Data.DataTable dt = new DataTable("Test");
//创建一个dc1,列名为FirstColumn
DataColumn dc1 =
new DataColumn("FirstColumn",Type.GetType("System.String"));
//将FirstColumn这个列加到表Test中
dt.Columns.Add(dc1);
//添加数据
for (int i = 0; i < 5; i++)
{
DataRow dr = dt.NewRow();
dr["FirstColumn"] = "aa" + i;
}
上面只是当初最简单的了解DataTable的一个结构,其实DataTable的作用更像是一个中间结构,可以用来接收页面传递的数据,然后通过sql来存入数据库;也可以直接获取数据库表的数据,然后通过数据绑定来在页面进行显示。我发现DataTable里数据绑定页面都是绑定GridView来进行操作,当然我并不知道这是不是唯一的,但是权且就先说这一种吧。
要说绑定DataTable数据源首先不得不说到GridView,毕竟没有这个你也绑定不了。
首先添加一个GridView控件:
<!- ID就是这个控件的名字,runat ="Server"说明是运行在服务器上,这个控件里面的内容就可以直接通过ID.Text()来获取。AutoGenerateColumns 就是自动添加列->
<asp:GridView ID = “gv1” runat = “server” AutoGenerateColumns = “false”><Columns>
<!-GridView的一列 DataField:数据源DataTable的列名;HeaderText:GridView列名->
<asp:BoundField DataField="FirstColumn" HeaderText="FirstColumn" ReadOnly="True">
</asp:BoundField>
</Columns>
</asp:GridView>
现在DataTable和GridView都有了,他们怎么联系起来呢。这就要介绍一下他们是怎么绑定的了。
//获取数据(DataBind)
gv1.DataSource = dt;
gv1.DataBind();
等下次笔记我再写c#怎么连接数据库,DataTable怎么获取数据库表中的值,再下下次我再说GridView控件里面的一些处理方法。哈哈哈哈哈哈哈哈,我去吃饭了!!