asp.net datalist 用法
更新時間:2009年08月05日 20:57:33 作者:
asp.net datalist 用法,需要的朋友可以參考下。
設計模版:
頁眉
<HeaderTemplate>
</HeaderTemplate>
頁腳
<FooterTemplate>
</FooterTemplate>
數(shù)據(jù)記錄
<ItemTemplate>
</ItemTemplate>
<AlternatingItemTemplate> 交替顯示項
</AlternatingItemTemplate>
<SelectedItemTemplate>選中時的顯示方式
</SelectedItemTemplate>
<EditItemTemplate> 編輯時的顯示方式
</EditItemTemplate>
<SeparatorTemplate> 數(shù)據(jù)記錄分隔符
</SeparatorTemplate>
編輯模版,里面可以嵌入控件,綁定數(shù)據(jù)。
<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 列數(shù)
事件
加入模版列的按鈕會將其click事件反升到 ItemCommand 事件,也可設置 CommandName
來響應不同的事件,如設為:edit,即引發(fā)EditCommand()等。
注:若設為:select 則會引發(fā)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];
//在此獲得該條記錄的詳細數(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();
刪除項
一次勾選多條記錄,一次刪除
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控件
//當創(chuàng)建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;
}
}
//當模版中的項被數(shù)據(jù)綁定時發(fā)生,數(shù)據(jù)被顯示到客戶端前加以訪問的最后機會
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["庫存量"]<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["部門"];
switch(department)
{ case "銷售部":
e.Item.BackColor=Color.Black;
break;
case "技術部":
e.Item.BackColor=Color.Red;
break; }
}
頁眉
<HeaderTemplate>
</HeaderTemplate>
頁腳
<FooterTemplate>
</FooterTemplate>
數(shù)據(jù)記錄
<ItemTemplate>
</ItemTemplate>
<AlternatingItemTemplate> 交替顯示項
</AlternatingItemTemplate>
<SelectedItemTemplate>選中時的顯示方式
</SelectedItemTemplate>
<EditItemTemplate> 編輯時的顯示方式
</EditItemTemplate>
<SeparatorTemplate> 數(shù)據(jù)記錄分隔符
</SeparatorTemplate>
編輯模版,里面可以嵌入控件,綁定數(shù)據(jù)。
<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 列數(shù)
事件
加入模版列的按鈕會將其click事件反升到 ItemCommand 事件,也可設置 CommandName
來響應不同的事件,如設為:edit,即引發(fā)EditCommand()等。
注:若設為:select 則會引發(fā)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];
//在此獲得該條記錄的詳細數(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();
刪除項
一次勾選多條記錄,一次刪除
復制代碼 代碼如下:
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控件
復制代碼 代碼如下:
//當創(chuàng)建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;
}
}
//當模版中的項被數(shù)據(jù)綁定時發(fā)生,數(shù)據(jù)被顯示到客戶端前加以訪問的最后機會
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["庫存量"]<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["部門"];
switch(department)
{ case "銷售部":
e.Item.BackColor=Color.Black;
break;
case "技術部":
e.Item.BackColor=Color.Red;
break; }
}
您可能感興趣的文章:
- asp.net遍歷文件夾下所有子文件夾并綁定到gridview上的方法
- asp.net中GridView控件遍歷的小例子
- asp.net Datalist控件實現(xiàn)分頁功能
- asp.net DataList與Repeater用法區(qū)別
- asp.net使用for循環(huán)實現(xiàn)Datalist的分列顯示功能
- ASP.NET MVC使用EasyUI的datagrid多選提交保存教程
- 在asp.net中實現(xiàn)datagrid checkbox 全選的方法
- asp.net DataGridView導出到Excel的三個方法[親測]
- asp.net DataGrid 中文字符排序的實現(xiàn)代碼
- ASP.NET中GridView、DataList、DataGrid三個數(shù)據(jù)控件foreach遍歷用法示例
相關文章
Asp.net 中mvc 實現(xiàn)超時彈窗后跳轉功能
這篇文章主要介紹了Asp.net 中mvc 實現(xiàn)超時彈窗后跳轉功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-02-02HTTP錯誤500.19解決方法(定義了重復的節(jié)點)
HTTP 錯誤 500.19 - Internal Server Error 無法訪問請求的頁面,因為該頁的相關配置數(shù)據(jù)無效2013-06-06ASP.NET中readonly與const的區(qū)別詳解
如果你學過ASP.NET理論知識都會知道,在ASP.NET中 readonly和const修飾的變量都是恒量,它們的值是不可以被修改的。但是他們之間到底有什么區(qū)別?下面小編就它們的區(qū)別用例子來進行說明。2015-10-10DataList中TextBox onfocus調用后臺void靜態(tài)方法及獲取相應行數(shù)
DataList中我放了一個TextBox 現(xiàn)在的問題是當我光標放到TextBox上的時候。如果讓onfocus調用后臺某一個void靜態(tài)方法并且在靜態(tài)方法里邊獲取光標相應的DataList的相應行數(shù),本文介紹如何實現(xiàn),感興趣的朋友可以了解下2013-01-01asp.net實現(xiàn)DataList與Repeater嵌套綁定的方法
這篇文章主要介紹了asp.net實現(xiàn)DataList與Repeater嵌套綁定的方法,結合實例形式分析了DataList與Repeater的步驟與相關實現(xiàn)技巧,需要的朋友可以參考下2016-04-04