DataList小結

來源:互聯網
上載者:User
設計模版:

頁首<HeaderTemplate>

</HeaderTemplate>



頁尾<FooterTemplate>

</FooterTemplate>



資料記錄<ItemTemplate>

</ItemTemplate>



<AlternatingItemTemplate> 交替顯示項目

</AlternatingItemTemplate>



<SelectedItemTemplate>選中時的顯示方式

</SelectedItemTemplate>



<EditItemTemplate> 編輯時的顯示方式

</EditItemTemplate>



<SeparatorTemplate> 資料記錄分隔字元

</SeparatorTemplate>



編輯模版,裡面可以嵌入控制項,綁定資料。

<ItemTemplate>

<table>

<tr>

<td><%# DataBinder.Eval(Container.DataItem, "持股名稱") %></td>

<td><%# DataBinder.Eval(Container.DataItem, "市值", "{0:n}") %></td>

<td><%# DataBinder.Eval(Container.DataItem, "淨值", "{0:n}") %></td>

</tr>

</table>

</ItemTemplate>





設定外觀

RepeatLayout 屬性設定顯示方式

RepeatDirection 顯示方向

RepeatColumns 列數





事件

加入模版列的按鈕會將其click事件反升到 ItemCommand 事件,也可設定 CommandName

來響應不同的事件,如設為:edit,即引發EditCommand()等。

註:若設為:select 則會引發SelectedIndexChanged 和ItemCommand事件



SelectedItemTemplate模版; 添加詳細資料的控制項,當使用者選擇了該項,選擇模版則顯示。

private void DataList1_ItemCommand(……)

{

switch(e.CommandName)

{

case "select":

this.DataList1.SelectedIndex=e.Item.ItemIndex;

string s=(string)this.DataList1.DataKeys[e.Item.ItemIndex];

//在此獲得該條記錄的詳細資料,在SelectedItemTemplate模版裡顯示。

break;

case "unselect":

this.DataList1.SelectedIndex=-1;

break;



}

this.DataList1.DataBind();//一定要

}





EditItemTemplate模版

編輯:

this.DataList1.EditItemIndex=e.Item.ItemIndex;

this.DataList1.DataBind();

更新:

得到主鍵

string s=(string)this.DataList1.DataKeys[e.Item.ItemIndex];

得到模版裡的控制項

TextBox box=(TextBox)e.Item.FindControl("TextBox1");

更新記錄

this.DataList1.DataBind();

取消:

this.DataList1.EditItemIndex=-1;

this.DataList1.DataBind();



刪除項

一次勾選多條記錄,一次刪除

foreach(DataListItem i in this.DataList1.Items)

{

bool IsChecked=((CheckBox)i.FindControl("deletectr")).Checked;

if(IsChecked)

{

string s=(string)this.DataList1.DataKeys[e.Item.ItemIndex];

刪除操作

}

}







運行中自訂DataList控制項

//當建立DataList控制項中的任意項時

private void DataList1_ItemCreated(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)

{

switch(e.Item.ItemType)

{

case ListItemType.Header:

e.Item.ForeColor=Color.Red;

e.Item.BackColor=Color.Black;

break;

case ListItemType.Item:

e.Item.BackColor=Color.Black;

break;

}



}



//當模版中的項被資料繫結時發生,資料被顯示到用戶端前加以訪問的最後機會

private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)

{

if((e.Item.ItemType==ListItemType.Header)||(e.Item.ItemType==ListItemType.Item))

{

System.Data.Common.DbDataRecord drv=

(System.Data.Common.DbDataRecord)e.Item.DataItem;

i



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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