<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大大毛 的筆記

      DDM's Note

    哪怕沒有辦法一定有說法,
    就算沒有鴿子一定有烏鴉,
    固執(zhí)無罪 夢想有價,
    讓他們驚訝.

    posts - 14, comments - 23, trackbacks - 0, articles - 58
       :: 首頁 ::  :: 聯(lián)系 ::  :: 管理

    數(shù)據(jù)控件

    Posted on 2006-08-23 18:52 大大毛 閱讀(581) 評論(0)  編輯  收藏 所屬分類: ASP.NET

    ???Repeater控件,共有五個模板,編輯該控件的模板只能在ASP源碼中進行
    ??????1.ItemTemplate,正常顯示項,如果定義了交替項模板,則僅代表奇數(shù)Item(從1開始算)
    ??????2.AlternatingItemTemplate,交替項,代表偶數(shù)Item
    ??????3.HeaderTemplate,頁眉,在控件的最前
    ??????4.FooterTemplate,頁腳,在控件的最后
    ??????5.SeparatorTemplate,分隔項,位于各Item之間,如使用<br/>實現(xiàn)各項換行
    ???適用于:
    ??????替代只讀顯示容器內(nèi)容的循環(huán),如將一個ResultSet顯示成一張表。
    ??????HeaderTemplate中使用<table><tr>,ItemTemplate/AlternatingItemTemplate中使用<td></td>,SeparatorTemplate中使用</tr><tr>,F(xiàn)ooterTemplate中使用</tr></table>可以實現(xiàn)一個 <table> 元素效果。

    ???DataList控件,共有七個模板
    ??????6.SelectedItemTemplate,選擇項
    ??????7.EditItemTemplate,編輯項
    ???適用于:
    ??????可編輯數(shù)據(jù)的顯示,因此在普通的DataSource指定后2006年8月24日,需要綁定數(shù)據(jù)源的主鍵列(指定控件的DataKeyField屬性)。
    ??????該控件提供了多種事件,由放在Item中的Button控件激發(fā)。
    ??????Button控件將會激發(fā)ItemCommand事件,可通過傳入的事件參數(shù)來引發(fā)其它事件,例如使用SelectedItem模板:

    ???? protected ? void ?DataList1_ItemCommand( object ?source,?DataListCommandEventArgs?e)?{
    ????????
    if ?(e.CommandName? == ? " Select " )?{????????????????????????? // 判斷激發(fā)事件的Button.CommandName

    ???????????? this .DataList1.SelectedIndex? = ?e.Item.ItemIndex;?? // 讓激發(fā)事件的行被選中
    ????????????myDataBind();??????????????????????????????????????????????? // 這里需要進行重新綁定
    ????????}
    ????}

    ??????使用EditItemTemplate模板,將Button.CommandName指定成"edit"即可。

    ???? protected ? void ?DataList1_EditCommand( object ?source,?DataListCommandEventArgs?e)?{
    ????????
    this .DataList1.SelectedIndex? = ? - 1 ;?????????????????????? // 放棄選擇

    ???????? this .DataList1.EditItemIndex? = ?e.Item.ItemIndex;???? // 讓當前行進入編輯狀態(tài)
    ????????myDataBind();
    ????}

    ??????在EditItemTemplate模板中可以將允許修改的列綁定到子控件上,并放入兩個Button,CommandName分別指定為"update","cancel"與DataList的事件相對應(yīng),再在對應(yīng)的數(shù)據(jù)更新/放棄事件中編程即可。

    Cancel事件

    Update事件

    ??????將Button控件的CommandName指定為"delete",可激發(fā)數(shù)據(jù)刪除事件:
    Delete事件

    ??????通常需要在Update/Delete按鈕上加入確認,如果是靜態(tài)提示可以直接在Button的屬性中加入:

    < asp:Button?ID = " btnDelete " ?runat = " server " ?CommandName = " delete " ?Text = " 刪除 " ?OnClientClick = " return?confirm( 'delete?' ); " ? />
    ??????在這里可以看到,是利用了Button控件的 OnClientClick 屬性調(diào)用本地的 JS函數(shù) confirm() 來實現(xiàn)確認的功能。如果想提示動態(tài)消息(如提示一個ID),偶沒有試出來,不過可以寫在代碼段里,利用ItemCreated事件,這樣:
    ItemCreated事件

    ??????這樣一來就可以在Button激發(fā)DataList的事件之前進行簡單的確認了,不過需要注意的是:
    ?????????.用這種方式時,在運行時如果有錯誤是不會有什么提示消息的,而且流程直接向下進行;
    ?????????.如果同時使用了兩種,那么Button上的OnClientClick屬性優(yōu)先。

    ??????該控件的顯示方式也與Repeater控件大不相同,它的顯示方式分為"表"和"流"兩種,默認使用表布局。
    ?????????使用表布局時控件會自動生成一個<table>元素,樣式則由各模板對應(yīng)的<style>指定,在該控件的運用中不應(yīng)該再使用如Repeater那種自構(gòu)造<table>元素的方法,因為該控件中經(jīng)常需要用到FindControls方法,自行加入元素會影響到該方法。
    ??????可以看到模板還具有自己所對應(yīng)的Style,這個樣式與當前Item所使用的模塊對應(yīng),例如選中第1項,如果沒有配置<SelectedItemStyle>才會使用<ItemStyle>所定義的樣式。

    ???手工分頁:
    ??????如上面提到的Repeater、DataList控件都沒有提供分頁的功能,此時可以對數(shù)據(jù)源進行分頁再配合自定義的導(dǎo)航條來實現(xiàn)分頁效果。
    ??????手工分頁,需要用到 System.Web.UI.WebControls.PagedDataSource 對象。
    ??????例如:在頁面中加入lblPageNo控件以保存當前頁號(text="0"),btnPrevious表示上一頁,btnNext表示下一頁。

    新的代碼

    ???排序:
    ??????利用數(shù)據(jù)視圖DataView的Sort屬性來實現(xiàn)排序,將其屬性指定為一個字段名 + 排序規(guī)則。
    ??????在GridView中列上可以設(shè)置SortExpression排序表達式,并在Sorting事件中指定DataView的Sort為該事件的SortExpression即可。

    ???GridView:
    ??????就是一個數(shù)據(jù)表格,在以前的版本中叫DataGrid。它的功能比DataList更為強大,支持數(shù)據(jù)表格顯示、按列的控制(DataList按名字就只支持一列)、列的排序、分頁、空頁控制等多種功能,可以將DataList看做是一個輕量級的控件,不過從這兩種控件的屬性及使用方式來看,風(fēng)格完全不同,這可能也是兩控件命名不一的原因吧。



    ?

    i am ddm

    主站蜘蛛池模板: 最近中文字幕大全免费版在线| 色影音免费色资源| 久久亚洲AV成人出白浆无码国产 | 国产91免费在线观看| 亚洲码欧美码一区二区三区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲国产成人精品无码区在线秒播 | 亚洲一区在线观看视频| 免费a在线观看播放| 日韩中文字幕免费视频| 国产精品亚洲精品久久精品 | 亚洲AV日韩AV永久无码绿巨人| 成人在线视频免费| 成人网站免费看黄A站视频| 最新国产成人亚洲精品影院| AV在线亚洲男人的天堂| 永久免费av无码不卡在线观看| 久久久WWW成人免费精品| 亚洲欧洲日本国产| 青青草原亚洲视频| 免费看无码自慰一区二区| 久久国产乱子伦精品免费不卡| 免费高清A级毛片在线播放| 内射少妇36P亚洲区| 久久久久国产亚洲AV麻豆| 91精品国产免费久久久久久青草| 国产日韩精品无码区免费专区国产 | 亚洲人成网7777777国产| 免费鲁丝片一级观看| 99热在线观看免费| 一级特黄录像免费播放肥| 亚洲av无码专区国产不乱码| 亚洲精品在线视频观看| 亚洲精品午夜国产VA久久成人| 免费日本黄色网址| 91嫩草国产在线观看免费| 久久免费视频99| 国产在线观看免费av站| 最好2018中文免费视频| 亚洲av纯肉无码精品动漫| 亚洲videos|