個人小結-淺談資料繫結控制項

來源:互聯網
上載者:User

1:Repeater,DataList,DataGrid,GridView都是用來顯示資料的WebControl,它們支援Event Bubble【事件冒泡】,它們中的子控制項的事件可以上升到本身的事件,通過一個子常式和事件關聯。採用的方法是OnItemCommand.

2:DataList,DataGrid對於子常式更具體,有ItemCommand,UpdateCommand,EditCommand,DeleteCommand,CancelCommand他們通過CommandName來執行觸發哪個子常式

比如:DataList

CancelCommand:由子控制項CommandName="cancel"觸發.
DeleteCommand:CommandName="delete"
UpdateCommand:CommandName="update"
EditCommand:CommandName="edit"
ItemCommand:其他CommandName

注意:
包含在DataList中的Button,HpyperLinkButton,ImageButton可以觸發以上事件。
DataList中包含的子常式必須有[u]DataListCommandEventArgs[/u]參數,這個參數表示DataList傳遞給子曆程的資訊
   DataListCommandEventArgs
        |-----CommandName:引發事件控制項的CommandName
        |-----CommandArgument:引發事件控制項的CommandArgument
        |-----CommandSource:引發事件的控制項對象
        |-----Item:DataList的一個條目

3:GridView主要是RowCommand,RowEditing,RowUpdating

4:他們都用模板機制。
共有的模板:ItemTemplate,AlternatingTemplate,SeparatorTemplate,HeaderTemplate,FooterTemplate

5:DataList有Repeater的所有模板,又加了2個模板SelectedItemTemplate,EditItemTemplate

6:它們可以通過FindControl尋找自己的子控制項
FindControl方法用來搜搜一個容器,尋找制定的ID的控制項,如果找不到,它返回0

7:DataList,DataGrid,GridView都有DataKeys集合。通過DataKeyField設定。而Repeater沒有。

8:對於資料繫結,
>Repeater,DataList通過DataBinder.Eval來實現資料庫的資料繫結。
>DataGrid,GridView利用<Columns></Columns>裡的繫結資料行[BoundColumn],超級連結列[HyperLinkColumn],按鈕列[ButtonColumn],模板列 [TemplateColumn]實現資料繫結.
>DataGrid不用任何模板就可以顯示資料。當然這隻能AutoGenerateColumns="true"
9:DataList中用RepeateLayout屬性可以用來設定每行顯示的格式.它有2個屬性值:html+flow.預設為html。每行資料顯示在table的儲存格裡。如果改成flow,每行資料就會顯示在<span></span>標籤裡。

10:繫結控制項的常見屬性
    <1>BackColor 背景色
    <2>BorderColor:邊框的顏色
    <3>BorderStyle:solid,dased,dotted,groove,inset,outset等
    <4>BorderWidth
    <5>CssClass:與條目相關聯的級聯樣式單類
    <6>Font系列:Font-Bold,Font-Names,Font-size,Font-Names,Font-UnderLine
    <7>ForeColor
    <8>Height
    <9>HorizontalAlign
    <10>VerrticalAlign
    <11>Width
    <12>Wrap:是否單行迴繞
    <13> CellSpacing,CellPadding
DataList,DataGrid還可以通過ItemStyle-的首碼設定ItemTemplate的屬性
注意:模板和樣式是獨立的。沒有依賴關係。
10:DataList除了有ReatLayout獨特的屬性外,還有RepeatColumns,RepeatDirection2個屬性來建立多列。
DataGrid卻有BackImageURL設定DataGrid的背景映像
11:關於分頁
>Repeater控制項是最忠實於模版原樣,它可以利用System.Web.UI.WebControls.PagedDataSource實現分頁
>DataList是DataGrid,Repeater的融合品,它的功能也特彆強大,但可惜沒有內建的分頁功能。可以利用DataSet,SqlDataAdapter組合就可以實現分頁。
sdr.Fill(dataset,StartIndex,PageSize,"score")

>DataGrid功能比Repeater,DataList都強大。它有內建的分頁和排序.只要設定DataGrid的相關屬性就可以實現分頁。比如:AllowPaging=true PageSize=10  PageIndexChanged

 

  protected void dgURL_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
        {
            this.dgURL.CurrentPageIndex = e.NewPageIndex;
            MmyeeAd.BLL.ADManage.WebSite bll = new MmyeeAd.BLL.ADManage.WebSite();
            DataSet ds = bll.GetList(" 1=1 ");
            this.dgURL.DataSource = ds.Tables[0].DefaultView;
            this.dgURL.DataBind();
        }

GridView事件詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.