数据服务控件(CSJ_0808)
1使用REPEATER控件显示数据
RepeaterBind.DataSource = ds.Tables["testTable"];
RepeaterBind.DataBind();
-----------------------------
<asp:Repeater id="RepeaterBind" runat="server">
<ItemTemplate>
<li>
<%#DataBinder.Eval(Container.DataItem,"TitleOfCourtesy")%>
<%#DataBinder.Eval(Container.DataItem,"LastName")%>
<%#DataBinder.Eval(Container.DataItem,"FirstName")%>
</li>
</ItemTemplate>
</asp:Repeater>
--------------------------------------------------------------------------------
2 使用REPEATER控件的模板
<asp:Repeater id="RepeaterTem" runat="server">
<HeaderTemplate>
<h3>页眉模板--人员信息</h3>
<table>
</HeaderTemplate>
<ItemTemplate>
<font color="blue">
<%#DataBinder.Eval(Container.DataItem,"TitleOfCourtesy")%>
<%#DataBinder.Eval(Container.DataItem,"LastName")%>
<%#DataBinder.Eval(Container.DataItem,"FirstName")%>
</font>
</ItemTemplate>
<AlternatingItemTemplate>
<font color="red">
<%#DataBinder.Eval(Container.DataItem,"TitleOfCourtesy")%>
<%#DataBinder.Eval(Container.DataItem,"LastName")%>
<%#DataBinder.Eval(Container.DataItem,"FirstName")%>
</font>
</AlternatingItemTemplate>
<SeparatorTemplate>
<hr color="#green" width="100%">
</SeparatorTemplate>
<FooterTemplate>
</TABLE>
<h3>页脚模板--显示结束</h3>
</FooterTemplate>
</asp:Repeater>
---------------------------------------------------------
3 //判断是否具有页面跳转的请求
if (Request.QueryString["Page"] != null)
CurPage=Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage=1;
----------------------------------------------------------
4 使用DataList控件绑定数据
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,TitleOfCourtesy from Employees",conn);
//创建DataSet对象
DataSet ds = new DataSet();
//填充数据集
da.Fill(ds,"testTable");
//进行数据绑定
dluse.DataSource = ds.Tables["testTable"];
dluse.DataBind();
-------------------------------------------------------------
5 使用DataList控件的选择模板
dlselItem.DataSource = ds.Tables["testTable"];
dlselItem.DataBind();
----------------------------------------------------
<asp:DataList id="dlselItem" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 48px" runat="server"
Height="136px">
<HeaderTemplate>
人员信息
</HeaderTemplate>
<SelectedItemTemplate>
姓名:<%#DataBinder.Eval(Container.DataItem,"LastName")%><BR>
姓:<%#DataBinder.Eval(Container.DataItem,"FirstName")%><BR>
标题:<%#DataBinder.Eval(Container.DataItem,"Title")%><BR>
称谓:<%#DataBinder.Eval(Container.DataItem,"TitleOfCourtesy")%><BR>
地址:<%#DataBinder.Eval(Container.DataItem,"Address")%><BR>
城市:<%#DataBinder.Eval(Container.DataItem,"City")%><BR>
</SelectedItemTemplate>
<FooterTemplate>
<hr color="red">
</FooterTemplate>
<ItemTemplate>
<asp:Button id="look" CommandName="select" Text="选择" Runat="server"></asp:Button><%#DataBinder.Eval(Container.DataItem,"LastName")%>
</ItemTemplate>
</asp:DataList>
------------------------------------------------------------
6 使用DataList控件的编辑模板
取消编辑//设置DataList控件的编辑项的索引为-1,既取消编辑
dlEditItem.EditItemIndex = -1;
//数据绑定
DataListDataBind();
编辑项---------------dlEditItem_EditCommand-----------------
dlEditItem.EditItemIndex = e.Item.ItemIndex;
DataListDataBind();
更新项--------------dlEditItem_UpdateCommand--------------
//取得编辑行的关键字段的值
int empID = (int)dlEditItem.DataKeys[e.Item.ItemIndex];
//取得文本框中输入的内容
TextBox newTitle = (TextBox)e.Item.FindControl("Title");
TextBox newTitleOfCour = (TextBox)e.Item.FindControl("TitleOfCourtesy");
//定义SQL语句
string sqlCom = "update Employees set Title='"+newTitle.Text+"',TitleOfCourtesy='"+newTitleOfCour.Text+"' where EmployeeID="+empID.ToString();
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//定义命令对象
SqlCommand cmd = new SqlCommand(sqlCom,conn);
//打开数据连接
conn.Open();
try
{
//执行SQL命令
cmd.ExecuteNonQuery();
//取消编辑
dlEditItem.EditItemIndex = -1;
DataListDataBind();
}
----------------------------------------------------------------------
7 在DataList控件中使用样式