repeater、gridview 在綁定時判斷判斷顯示不同的行樣式或文本_實用技巧

來源:互聯網
上載者:User
一:repeater或DataList控制項
1.更改純文字內容等 如果資料庫裡學生資訊表中的sex欄位用0和1來表示男女 但我們想repeat控制項綁定後性別顯示男或女而不是顯示0或1
方法一:當然我們可以在SQL語句裡判斷並且轉換
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.根據要產生的行條件而顯示不同的樣式(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方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.