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

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

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

    大大毛 的筆記

      DDM's Note

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

    posts - 14, comments - 23, trackbacks - 0, articles - 58
       :: 首頁 ::  :: 聯系 ::  :: 管理

    數據控件

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

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

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

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

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

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

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

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

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

    Cancel事件

    Update事件

    ??????將Button控件的CommandName指定為"delete",可激發數據刪除事件:
    Delete事件

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

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

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

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

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

    新的代碼

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

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



    ?

    i am ddm

    主站蜘蛛池模板: 亚洲视频网站在线观看| 久久受www免费人成_看片中文| 免费v片在线观看品善网| 亚洲激情校园春色| 1000部啪啪毛片免费看| 亚洲第一视频网站| 色欲A∨无码蜜臀AV免费播| 久久香蕉国产线看观看亚洲片| 中文字幕在线免费看线人| 国产亚洲精品激情都市| 韩国免费A级毛片久久| 国产亚洲精品精华液| 亚洲一区二区三区免费观看 | 五月婷婷亚洲综合| 亚洲韩国精品无码一区二区三区| 曰批免费视频播放在线看片二| 久久这里只精品99re免费| 日本不卡视频免费| 免费视频成人国产精品网站| 亚洲精品线路一在线观看| eeuss草民免费| 亚洲爱情岛论坛永久| 免费阿v网站在线观看g| 亚洲heyzo专区无码综合| 久久久久久AV无码免费网站| 亚洲国产综合专区电影在线| 色se01短视频永久免费| 亚洲精品乱码久久久久蜜桃| 亚洲国产av一区二区三区| 黄色网址在线免费| 亚洲a视频在线观看| 亚洲AV无码专区日韩| 大地资源中文在线观看免费版| 亚洲性无码av在线| 国产伦精品一区二区三区免费迷| 中文字幕版免费电影网站| 亚洲一卡2卡3卡4卡国产网站 | 久久国产精品国产自线拍免费| 亚洲国产成人手机在线电影bd| 国产极品美女高潮抽搐免费网站| 中文字幕无码免费久久9一区9|