asp.net datalist 用法
頁(yè)眉
<HeaderTemplate>
</HeaderTemplate>
頁(yè)腳
<FooterTemplate>
</FooterTemplate>
數(shù)據(jù)記錄
<ItemTemplate>
</ItemTemplate>
<AlternatingItemTemplate> 交替顯示項(xiàng)
</AlternatingItemTemplate>
<SelectedItemTemplate>選中時(shí)的顯示方式
</SelectedItemTemplate>
<EditItemTemplate> 編輯時(shí)的顯示方式
</EditItemTemplate>
<SeparatorTemplate> 數(shù)據(jù)記錄分隔符
</SeparatorTemplate>
編輯模版,里面可以嵌入控件,綁定數(shù)據(jù)。
<ItemTemplate>
<table>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "持股名稱(chēng)") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "市值", "{0:n}") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "凈值", "{0:n}") %></td>
</tr>
</table>
</ItemTemplate>
設(shè)置外觀(guān)
RepeatLayout 屬性設(shè)置顯示方式
RepeatDirection 顯示方向
RepeatColumns 列數(shù)
事件
加入模版列的按鈕會(huì)將其click事件反升到 ItemCommand 事件,也可設(shè)置 CommandName
來(lái)響應(yīng)不同的事件,如設(shè)為:edit,即引發(fā)EditCommand()等。
注:若設(shè)為:select 則會(huì)引發(fā)SelectedIndexChanged 和ItemCommand事件
SelectedItemTemplate模版; 添加詳細(xì)信息的控件,當(dāng)用戶(hù)選擇了該項(xiàng),選擇模版則顯示。
private void DataList1_ItemCommand(……)
{ switch(e.CommandName)
{
case "select":
this.DataList1.SelectedIndex=e.Item.ItemIndex;
string s=(string)this.DataList1.DataKeys[e.Item.ItemIndex];
//在此獲得該條記錄的詳細(xì)數(shù)據(jù),在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();
刪除項(xiàng)
一次勾選多條記錄,一次刪除
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];
刪除操作 }
}
運(yùn)行中自定義DataList控件
//當(dāng)創(chuàng)建DataList控件中的任意項(xiàng)時(shí)
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;
}
}
//當(dāng)模版中的項(xiàng)被數(shù)據(jù)綁定時(shí)發(fā)生,數(shù)據(jù)被顯示到客戶(hù)端前加以訪(fǎng)問(wèn)的最后機(jī)會(huì)
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;
if((decimal)drv["庫(kù)存量"]<1000)
{
e.Item.ForeColor=Color.Red;
}
}
}
另種方式
if((e.Item.ItemType==ListItemType.Header)||(e.Item.ItemType==ListItemType.Item))
{
DataRowView drv=(DataRowView)e.Item.DataItem;
string department=(string)drv["部門(mén)"];
switch(department)
{ case "銷(xiāo)售部":
e.Item.BackColor=Color.Black;
break;
case "技術(shù)部":
e.Item.BackColor=Color.Red;
break; }
}
- asp.net遍歷文件夾下所有子文件夾并綁定到gridview上的方法
- asp.net中GridView控件遍歷的小例子
- asp.net Datalist控件實(shí)現(xiàn)分頁(yè)功能
- asp.net DataList與Repeater用法區(qū)別
- asp.net使用for循環(huán)實(shí)現(xiàn)Datalist的分列顯示功能
- ASP.NET MVC使用EasyUI的datagrid多選提交保存教程
- 在asp.net中實(shí)現(xiàn)datagrid checkbox 全選的方法
- asp.net DataGridView導(dǎo)出到Excel的三個(gè)方法[親測(cè)]
- asp.net DataGrid 中文字符排序的實(shí)現(xiàn)代碼
- ASP.NET中GridView、DataList、DataGrid三個(gè)數(shù)據(jù)控件foreach遍歷用法示例
相關(guān)文章
Asp.net 中mvc 實(shí)現(xiàn)超時(shí)彈窗后跳轉(zhuǎn)功能
這篇文章主要介紹了Asp.net 中mvc 實(shí)現(xiàn)超時(shí)彈窗后跳轉(zhuǎn)功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02ASP.NET調(diào)用javascript腳本的常見(jiàn)方法小結(jié)
ASP.NET本身就提供了多種調(diào)用javascript腳本的方法,本文總結(jié)了六種調(diào)用方法,大家根據(jù)自己的使用習(xí)慣可以選擇相應(yīng)的調(diào)用方式了!2009-12-12HTTP錯(cuò)誤500.19解決方法(定義了重復(fù)的節(jié)點(diǎn))
HTTP 錯(cuò)誤 500.19 - Internal Server Error 無(wú)法訪(fǎng)問(wèn)請(qǐng)求的頁(yè)面,因?yàn)樵擁?yè)的相關(guān)配置數(shù)據(jù)無(wú)效2013-06-06ASP.NET中readonly與const的區(qū)別詳解
如果你學(xué)過(guò)ASP.NET理論知識(shí)都會(huì)知道,在ASP.NET中 readonly和const修飾的變量都是恒量,它們的值是不可以被修改的。但是他們之間到底有什么區(qū)別?下面小編就它們的區(qū)別用例子來(lái)進(jìn)行說(shuō)明。2015-10-10DataList中TextBox onfocus調(diào)用后臺(tái)void靜態(tài)方法及獲取相應(yīng)行數(shù)
DataList中我放了一個(gè)TextBox 現(xiàn)在的問(wèn)題是當(dāng)我光標(biāo)放到TextBox上的時(shí)候。如果讓onfocus調(diào)用后臺(tái)某一個(gè)void靜態(tài)方法并且在靜態(tài)方法里邊獲取光標(biāo)相應(yīng)的DataList的相應(yīng)行數(shù),本文介紹如何實(shí)現(xiàn),感興趣的朋友可以了解下2013-01-01asp.net實(shí)現(xiàn)DataList與Repeater嵌套綁定的方法
這篇文章主要介紹了asp.net實(shí)現(xiàn)DataList與Repeater嵌套綁定的方法,結(jié)合實(shí)例形式分析了DataList與Repeater的步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-04-04asp.net core項(xiàng)目中如何使用html文件
這篇文章主要給大家介紹了關(guān)于asp.net core項(xiàng)目中如何使用html文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面是隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02