repeater gridview judgment judgment displays different line styles or text when binding
- 2020-05-12 02:30:13
- OfStack
1: repeater or DataList controls
1. Change the plain text content, etc. If the sex fields in the student information table in the database are 0 and 1 for male and female, but we want the repeat control to bind the gender to show male or female instead of 0 or 1
Method 1: of course we can judge and convert in SQL statements
select (case sex when 0 then 'male' else 'female' end) AS sex from studentInfo
Method 2: USES the repeat control ItemDataBound() event
The front desk
2. Display different styles according to the line conditions to be generated (CSS)
For example, to display the male 1 behavior 1 style, and generate the female 1 line 1 style again (if it is an repeater control)
((Label)e.Item.FindControl("lblSex")).CssClass= "style_male";
ToolTip=" I'm male ".ToolTip=" I'm male ".ToolTip=" I'm male"
If you have an DataList control, you can also style that line directly
Use GridView1_RowDataBound if it is an GridView control
e.Row.CssClass can also be set to e.Row.FindControl
1. Change the plain text content, etc. If the sex fields in the student information table in the database are 0 and 1 for male and female, but we want the repeat control to bind the gender to show male or female instead of 0 or 1
Method 1: of course we can judge and convert in SQL statements
select (case sex when 0 then 'male' else 'female' end) AS sex from studentInfo
Method 2: USES the repeat control ItemDataBound() event
The front desk
<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 = " male ";
}
else ((Label)e.Item.FindControl("lblSex")).Text = " female ";
}
2. Display different styles according to the line conditions to be generated (CSS)
For example, to display the male 1 behavior 1 style, and generate the female 1 line 1 style again (if it is an repeater control)
((Label)e.Item.FindControl("lblSex")).CssClass= "style_male";
ToolTip=" I'm male ".ToolTip=" I'm male ".ToolTip=" I'm male"
If you have an DataList control, you can also style that line directly
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;
}
}
Use GridView1_RowDataBound if it is an GridView control
e.Row.CssClass can also be set to e.Row.FindControl