日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数据列表DataList模板之实例

發(fā)布時(shí)間:2025/6/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据列表DataList模板之实例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1數(shù)據(jù)列表DataList與重復(fù)列表Repeator很類似,但是DataList應(yīng)用更廣泛,因?yàn)樗梢赃x擇和修改數(shù)據(jù)項(xiàng)的內(nèi)容。

DataList的數(shù)據(jù)顯示和布局與Repeator控件一樣都是通過(guò)“模板”控制的。

(注:模板至少要定義一個(gè)“數(shù)據(jù)項(xiàng)模板”(ItemTemplate)來(lái)指定顯示布局)

?

2DataList支持的模板類型:

模板

名稱

說(shuō)明

ItemTemplate

數(shù)據(jù)項(xiàng)模板

必需的,它定義了數(shù)據(jù)項(xiàng)及其表現(xiàn)形式

AlternatingItemplate

數(shù)據(jù)項(xiàng)交替模板

為了使相鄰的數(shù)據(jù)項(xiàng)能夠有所區(qū)別,可以定義交替模板,它使得相鄰的數(shù)據(jù)項(xiàng)看起來(lái)明顯不同,缺省情況下,他和ItemTemplate模板定義一致,即卻剩下相鄰數(shù)據(jù)無(wú)表示區(qū)分

SeparatorTemplate

分隔符模板

定義數(shù)據(jù)項(xiàng)之間的分隔符

SelectedItemTemplate

選中項(xiàng)模板

定義被選擇的數(shù)據(jù)項(xiàng)的表現(xiàn)內(nèi)容與布局形式,當(dāng)未定義“SelectedItemTemplate”模板時(shí),選中項(xiàng)的表現(xiàn)內(nèi)容與形式無(wú)特殊化,由ItemTemplate模板定義所決定

EditItemTemplate

修改選項(xiàng)模板

定義即將被修改的數(shù)據(jù)項(xiàng)的顯示內(nèi)容與布局形式,缺省情況下,修改選項(xiàng)模板就是數(shù)據(jù)項(xiàng)模板(ItemTemplate)的定義

HeaderTemplate

報(bào)頭定義模板

定義表頭變現(xiàn)形式

FooterTemplate

表尾定義模板

?

實(shí)例: 用到的數(shù)據(jù)庫(kù)charge_sys中的student_Info表:

studentNo

studentName

grade

cash

1

韓學(xué)楊

大一

123.000

2

韓寒

大二

123.000

3

韓紅

大三

222.000

4

韓學(xué)敏

大四

20000.000

? 程序在Default.aspx中: Default.aspx中: [html] view plain copy
  • <%@?Page?Language="C#"?AutoEventWireup="true"?CodeFile="Default.aspx.cs"?Inherits="_Default"?%>??
  • ??
  • <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">??
  • ??
  • <html?xmlns="http://www.w3.org/1999/xhtml">??
  • <head?runat="server">??
  • ????<title>DataList控件練習(xí)</title>??
  • </head>??
  • <body>??
  • ????<form?id="form1"?runat="server">??
  • ??<div>??
  • ?????<!--添加控件“DataList1”,并設(shè)置屬性-->??
  • ????????<asp:DataList?ID="DataList1"?runat="server"?BackColor="LightGoldenrodYellow"???
  • ????????????BorderColor="Tan"?BorderWidth="1px"?CellPadding="2"?ForeColor="Black"???
  • ????????????oncancelcommand="DataList1_CancelCommand"?oneditcommand="DataList1_EditCommand"???
  • ????????????onitemcommand="DataList1_ItemCommand"?onupdatecommand="DataList1_UpdateCommand"???
  • ????????????Width="308px">??
  • ??
  • ???????????<%--修改選項(xiàng)模板--%>??
  • ????????????<EditItemTemplate>???
  • ????????????????<!--添加“LinkButton2”按鈕,并設(shè)置ComandName="update"-->??
  • ????????????????<asp:LinkButton?ID="LinkButton2"?runat="server"?CommandName="update">保存</asp:LinkButton>??
  • ????????????????<!--添加“LinkButton3”按鈕,并設(shè)置CommandName="cancel"-->??
  • ????????????????<asp:LinkButton?ID="LinkButton3"?runat="server"?CommandName="cancel">取消</asp:LinkButton>??
  • ????????????????<!--數(shù)據(jù)綁定,綁定字段為學(xué)號(hào)“studentNo”-->??
  • ?????????????????<%#DataBinder.Eval(Container.DataItem,"studentNo")?%>??
  • ???????????????<!--添加“txtGrade”文本框,并綁定字段年級(jí)grade-->??
  • ????????????????<asp:TextBox?ID="txtGrade"?runat="server"???
  • ????????????????????Text='<%#?DataBinder.Eval(Container.DataItem,"grade")?%>'></asp:TextBox>??
  • ????????????</EditItemTemplate>??
  • ??????????????
  • ????????????<%--表尾模板樣式?--%>???
  • ????????????<FooterStyle?Font-Bold="True"?Font-Italic="False"?Font-Size="18pt"?/>???
  • ??????????????????
  • ????????????<%--報(bào)頭模板樣式?--%>??
  • ????????????<HeaderStyle?Font-Bold="True"?Font-Size="18pt"?/>??
  • ??????????????
  • ????????????<%--數(shù)據(jù)項(xiàng)模板樣式--%>??
  • ????????????<ItemStyle?ForeColor="#000066"?/>??
  • ?????????????
  • ?????????????<%--報(bào)頭模板--%>???
  • ????????????<HeaderTemplate>??
  • ????????????????模板頁(yè)眉??
  • ????????????????<br?/>???
  • ????????????????<hr?/>??
  • ????????????</HeaderTemplate>??
  • ??
  • ????????????<%--數(shù)據(jù)項(xiàng)模板--%>??
  • ????????????<ItemTemplate>??
  • ????????????????<!--添加“l(fā)BtnShowDetails”按鈕,并設(shè)置CommandName="select"-->??
  • ????????????????<asp:LinkButton?ID="lBtnShowDetails"?runat="server"?CommandName="select">查看詳細(xì)信息</asp:LinkButton>??
  • ????????????????<!--添加“LinkButton1”按鈕-->??
  • ????????????????<asp:LinkButton?ID="LinkButton1"?runat="server"?CommandName="edit">編輯</asp:LinkButton>??
  • ????????????????<!--綁定學(xué)號(hào)studentNo字段-->??
  • ????????????????<%#DataBinder.Eval(Container.DataItem,"studentNo")?%>??
  • ????????????</ItemTemplate>??
  • ????????????
  • ???????????<%--選中項(xiàng)模板--%>??
  • ????????????<SelectedItemTemplate>??
  • ????????????????學(xué)號(hào):??
  • ????????????????<!--綁定學(xué)號(hào)studentNo字段-->??
  • ???????????????<%#DataBinder.Eval(Container.DataItem,"studentNo")?%>?????????????
  • ????????????????<br?/>???
  • ????????????????姓名:??
  • ????????????????<!--綁定姓名studentName字段-->??
  • ????????????????<%#DataBinder.Eval(Container.DataItem,"studentName")?%>??
  • ????????????????<br?/>???
  • ????????????????金額:??
  • ????????????????<!--綁定金額cash字段-->??
  • ????????????????<%#DataBinder.Eval(Container.DataItem,"cash")?%>??
  • ????????????</SelectedItemTemplate>??
  • ??
  • ????????????<%--表尾模板?--%>???
  • ????????????<FooterTemplate>??
  • ??????????????<hr?/>??
  • ??????????????<br?/>??
  • ??????????????模板頁(yè)腳??
  • ???????????</FooterTemplate>??
  • ????????</asp:DataList>??
  • ????</div>??
  • ????</form>??
  • </body>??
  • </html>??
  • ?

    效果圖:


    ?

    Default.aspx.cs中:

    [csharp] view plain copy
  • using?System;??
  • using?System.Collections.Generic;??
  • using?System.Linq;??
  • using?System.Web;??
  • using?System.Web.UI;??
  • using?System.Web.UI.WebControls;??
  • using?System.Data;??
  • using?System.Data.SqlClient;??
  • ??
  • public?partial?class?_Default?:?System.Web.UI.Page??
  • {??
  • ????protected?void?Page_Load(object?sender,?EventArgs?e)??
  • ????{??
  • ????????if?(!this.IsPostBack)??
  • ????????{??
  • ????????????this.DataBindToDataList();??
  • ??
  • ????????}??
  • ??
  • ????}??
  • ????//用來(lái)綁定到DataList控件的方法????
  • ????private?void?DataBindToDataList()??
  • ????{??
  • ????????SqlConnection?con?=?DB.createCon();??
  • ????????SqlDataAdapter?sda?=?new?SqlDataAdapter();??
  • ????????sda.SelectCommand?=?new?SqlCommand("select?*?from?student_Info",?con);??
  • ????????DataSet?ds?=?new?DataSet();??
  • ????????sda.Fill(ds,?"studentInfo");??
  • ????????this.DataList1.DataKeyField?=?"cardno";??
  • ????????this.DataList1.DataSource?=?ds.Tables["studentInfo"];??
  • ????????this.DataList1.DataBind();??
  • ??
  • ????}??
  • ????protected?void?DataList1_ItemCommand(object?source,?DataListCommandEventArgs?e)??
  • ????{??
  • ????????if?(e.CommandName?==?"select")??
  • ????????{??
  • ????????????this.DataList1.SelectedIndex?=?e.Item.ItemIndex;??
  • ????????????this.DataBindToDataList();???????//調(diào)用方法DataBindToDataList()??
  • ??
  • ????????}??
  • ????}??
  • ????protected?void?DataList1_EditCommand(object?source,?DataListCommandEventArgs?e)??
  • ????{??
  • ????????this.DataList1.EditItemIndex?=?e.Item.ItemIndex;??
  • ????????this.DataBindToDataList();??
  • ??
  • ????}??
  • ????protected?void?DataList1_CancelCommand(object?source,?DataListCommandEventArgs?e)??
  • ????{??
  • ????????this.DataList1.EditItemIndex?=?-1;??
  • ????????this.DataBindToDataList();??
  • ??
  • ????}??
  • ????protected?void?DataList1_UpdateCommand(object?source,?DataListCommandEventArgs?e)??
  • ????{??
  • ????????string?cardNo?=?this.DataList1.DataKeys[e.Item.ItemIndex].ToString();??
  • ????????string?grade?=?((TextBox)e.Item.FindControl("txtGrade")).Text;??
  • ????????SqlConnection?con?=?DB.createCon();??
  • ????????SqlCommand?cmd?=?new?SqlCommand("update?student_Info?set?grade='"?+?grade?+?"'?where?cardno='"?+?cardNo?+?"'",?con);??
  • ????????con.Open();??
  • ????????cmd.ExecuteNonQuery();??
  • ????????this.DataList1.EditItemIndex?=?-1;??
  • ????????this.DataBindToDataList();??
  • ??
  • ????}??
  • }??
  • 運(yùn)行結(jié)果:

    頁(yè)面加載:


    ?

    ?點(diǎn)擊“查看詳細(xì)信息”按鈕后:

    點(diǎn)擊“編輯”按鈕后:

    ?

    總結(jié):“動(dòng)手”才是硬道理

    ?

    《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的数据列表DataList模板之实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。