repeater、gridview 在綁定時判斷判斷顯示不同的行樣式或文本
更新時間:2011年09月09日 10:21:21 作者:
repeater、gridview 在綁定時判斷判斷顯示不同的行樣式或文本的實現(xiàn)代碼,需要的朋友可以參考下。
一:repeater或DataList控件
1.更改純文本內(nèi)容等 如果數(shù)據(jù)庫里學生信息表中的sex字段用0和1來表示男女 但我們想repeat控件綁定后性別顯示男或女而不是顯示0或1
方法一:當然我們可以在SQL語句里判斷并且轉(zhuǎn)換
select (case sex when 0 then '男' else '女' end) AS sex from studentInfo
方法二:就是用到repeat 控件ItemDataBound()事件
前臺
<asp:Repearter ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">
<ItemTemplate>
<tr>
<td>
<input type="checkbox">
</td>
<td style="text-align: center">
<%#Eval("studentId") %>
</td>
<td style="text-align: center">
<asp:Label Id="lblSex" runat="server" Text="">
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DataRowView drv = (DataRowView)e.Item.DataItem;
if (drv["sex"].ToString()=="0")
{
((Label)e.Item.FindControl("lblSex")).Text = "男";
}
else ((Label)e.Item.FindControl("lblSex")).Text = "女";
}
2.根據(jù)要生成的行條件而顯示不同的樣式(CSS)
比如要顯示男的那一行為一個樣式,生成女的那一行又是一個樣式 即 (如果是repeater控件的話)
((Label)e.Item.FindControl("lblSex")).CssClass= "style_male";
當然還可以設置提示語等((Label)e.Item.FindControl("lblSex")).ToolTip="我是男的"
如果是DataList控件的話還可以直接設置那一行的樣式
private void assets_ItenDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
DataRowView drv=(DataRowView)e.Item.DataItem;
string m=(string)drv["ID"];
int i=_userMenuBll.AssetsCss(m);
switch(i)
{
case 0:e.Item.CssClass="nomal";break;
case 1:e.Item.CssClass="red";break;
case 2:e.Item.CssClass="purple";break;
case 3:e.Item.CssClass="yellow";break;
case 4:e.Item.CssClass="blue";break;
case 5:e.Item.CssClass="green";break;
}
}
如果是GridView控件的話則用 GridView1_RowDataBound
設置e.Row.CssClass 當然也能用e.Row.FindControl方法
1.更改純文本內(nèi)容等 如果數(shù)據(jù)庫里學生信息表中的sex字段用0和1來表示男女 但我們想repeat控件綁定后性別顯示男或女而不是顯示0或1
方法一:當然我們可以在SQL語句里判斷并且轉(zhuǎn)換
select (case sex when 0 then '男' else '女' end) AS sex from studentInfo
方法二:就是用到repeat 控件ItemDataBound()事件
前臺
復制代碼 代碼如下:
<asp:Repearter ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">
<ItemTemplate>
<tr>
<td>
<input type="checkbox">
</td>
<td style="text-align: center">
<%#Eval("studentId") %>
</td>
<td style="text-align: center">
<asp:Label Id="lblSex" runat="server" Text="">
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DataRowView drv = (DataRowView)e.Item.DataItem;
if (drv["sex"].ToString()=="0")
{
((Label)e.Item.FindControl("lblSex")).Text = "男";
}
else ((Label)e.Item.FindControl("lblSex")).Text = "女";
}
2.根據(jù)要生成的行條件而顯示不同的樣式(CSS)
比如要顯示男的那一行為一個樣式,生成女的那一行又是一個樣式 即 (如果是repeater控件的話)
((Label)e.Item.FindControl("lblSex")).CssClass= "style_male";
當然還可以設置提示語等((Label)e.Item.FindControl("lblSex")).ToolTip="我是男的"
如果是DataList控件的話還可以直接設置那一行的樣式
復制代碼 代碼如下:
private void assets_ItenDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
DataRowView drv=(DataRowView)e.Item.DataItem;
string m=(string)drv["ID"];
int i=_userMenuBll.AssetsCss(m);
switch(i)
{
case 0:e.Item.CssClass="nomal";break;
case 1:e.Item.CssClass="red";break;
case 2:e.Item.CssClass="purple";break;
case 3:e.Item.CssClass="yellow";break;
case 4:e.Item.CssClass="blue";break;
case 5:e.Item.CssClass="green";break;
}
}
如果是GridView控件的話則用 GridView1_RowDataBound
設置e.Row.CssClass 當然也能用e.Row.FindControl方法
您可能感興趣的文章:
- datalist,Repeater和Gridview的區(qū)別分析
- asp.net中讓Repeater和GridView支持DataPager分頁
- ASP.NET MVC4之js css文件合并功能(3)
- Asp.net程序優(yōu)化js、css實現(xiàn)合并與壓縮的方法
- Asp.net_Table控件の單元格縱向合并示例
- ASP.NET GridView 實現(xiàn)課程表顯示(動態(tài)合并單元格)實現(xiàn)步驟
- asp.net中GridView和DataGrid相同列合并實現(xiàn)代碼
- asp.net中rdlc 合并行的方法
- asp.net 合并GridView中某列相同信息的行(單元格)
- ASP.NET中GridView和Repeater重復數(shù)據(jù)如何合并
相關文章
Visual Studio 2017正式版發(fā)布 亮點看這里
終于等到你,最強 IDE Visual Studio 2017 正式版發(fā)布,這篇文章主要為大家詳細解析了Visual Studio 2017正式版發(fā)布的細節(jié),亮點看這里2017-03-03ASP.NET?Core框架探索之Authentication的權(quán)限認證過程解析
這篇文章主要介紹了ASP.NET?Core框架探索之Authentication的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03ASP與ASP.NET互通COOKIES的一點經(jīng)驗
ASP與ASP.NET互通COOKIES的一點經(jīng)驗...2006-09-09asp.net使用JS+form表單Post和Get方式提交數(shù)據(jù)
今天小編就為大家分享一篇關于asp.net使用JS+form表單Post和Get方式提交數(shù)據(jù),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01告別ADO.NET實現(xiàn)應用系統(tǒng)無縫切換的煩惱(總結(jié)篇)
說起ADO.NET,就扯上了數(shù)據(jù)庫訪問類庫了,現(xiàn)在的每個項目的數(shù)據(jù)庫訪問類應該說都很強的了,經(jīng)常就聽到說我的我們的數(shù)據(jù)庫訪問類怎么怎么強大而且支持多數(shù)據(jù)庫,現(xiàn)在的大家做的項目里用的數(shù)據(jù)庫訪問類庫我想也都是支持多數(shù)據(jù)庫吧,支持到什么程度我就不知道了2009-11-11在Framework4.0中實現(xiàn)延遲加載的實現(xiàn)方法
延遲加載,亦稱延遲實例化,延遲初始化等,主要表達的思想是,把對象的創(chuàng)建將會延遲到使用時創(chuàng)建,而不是在對象實例化時創(chuàng)建對象,即用時才加載。2011-08-08ASP.NET MVC5網(wǎng)站開發(fā)我的咨詢列表及添加咨詢(十二)
這篇文章主要為大家詳細介紹了ASP.NET MVC5網(wǎng)站開發(fā)我的咨詢列表及添加咨詢,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-09-09.NET Core應用類型(Portable apps & Self-contained apps)
這篇文章主要介紹了.NET Core應用類型,通常類型用來描述一個特定的執(zhí)行模型或者基于此的應用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04