<script runat="server" language="c#">
string SwitchVisible( int contentInt ){
switch(contentInt){
case 1:
return "显示系统管理员";break;
case 2:
return "显示网站管理员";break;
case 3:
return "新闻管理员";break;
}
}
</script>
Label1.Text = <%# SwitchContent((int)DataBinder.Eval(Container.DataItem, "数字" ))%>
string SwitchVisible( int contentInt ){
switch(contentInt){
case 1:
return "显示系统管理员";break;
case 2:
return "显示网站管理员";break;
case 3:
return "新闻管理员";break;
}
}
</script>
Label1.Text = <%# SwitchContent((int)DataBinder.Eval(Container.DataItem, "数字" ))%>
datagrid_onItemDatabound()
{
if(e.Item.ItemType.ToString() != "Header")
{
//问题1
if(e.Item.Cells[操作列的索引].Text == "1")
{
e.Item.Cells[操作列的索引].Text = 显示系统管理员;
}
else
{
}
//问题2
if(e.Item.Cells[新闻类型列的索引].Text == "1")
{
e.Item.Cells[新闻类型列的索引].Text = 加图片标志;
}
else
{
}
}
}
能否通过判断新闻类型列的索引,直接将图标加到新闻标题列后面。
比如将:
判断第3列新闻级别列和判断第4列图片类型列,将不同标志图片加到第一列新闻标题后面。
select 字段名 case when 1 then "系统管理员" when 2 then "网站管理员" when 3 then "新闻管理员" end from table
Private Sub dgMessage_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgMessage.ItemDataBound
If e.Item.ItemIndex >= 0 Then
If e.Item.Cells(6).Text = 1 Then '6为所要显示图片的列
Dim img As New System.Web.UI.WebControls.Image()
img.ImageUrl = "C:\Inetpub\wwwroot\Message\bin\User1.gif"
e.Item.Cells(6).Controls.Add(img)
Elseif e.Item.Cells(6).Text = 2 Then
Dim img As New System.Web.UI.WebControls.Image()
img.ImageUrl = "C:\Inetpub\wwwroot\Message\bin\User2.gif"
e.Item.Cells(6).Controls.Add(img)
................................(3,4,5)........................................
End If
End If
End Sub
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if ( e.Item.ItemIndex >= 0 )
{
switch (e.Item.Cells[6].Text) //6为所要显示图片的列
{
case "1" :
System.Web.UI.WebControls.Image img1 = new System.Web.UI.WebControls.Image();
img1.ImageUrl = ".\\User1.gif";//要显示的图片1位置
e.Item.Cells[6].Controls.Add(img1);
break;
case "2" :
System.Web.UI.WebControls.Image img2 = new System.Web.UI.WebControls.Image();
img2.ImageUrl = ".\\User2.gif";//要显示的图片2位置
e.Item.Cells[6].Controls.Add(img2);
break;
//*****************3*4*5********************************************************
}//switch
}// if}
我还有一个问题是如何从模板列取值,用e.Item.Cells[6].Text无法从模板列取值!
通过如下方法做时:在DataGrid的ItemDataBind事件里写
if((e.Item.Cells[6].Text)=="男")//假设性别字段在第6行
e.Item.BackColor=Color.Blue;
if((e.Item.Cells[6].Text)=="女")
e.Item.BackColor=Color.Red;
有没有具体的例子?我这样一来做了,但没有任何效果。我的做法是写了
private void change_color(Object sender, DataGridItemEventArgs e) {
if((e.Item.Cells[1].Text)=="男")//假设性别字段在第6行
e.Item.BackColor=Color.Blue;
if((e.Item.Cells[1].Text)=="女")
e.Item.BackColor=Color.Red;
}
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
TxtOldPassword.Text = Session("password")
End Sub Private Sub IBConfirmPassword_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IBConfirmPassword.Click
Dim sql As String
If TxtNewPassword.Text = "" And TxtNewUserName.Text = "" Then
Response.Write("<script language=javascript>alert('用户名和密码不能为空')</script>")
Else
If TxtNewPassword.Text <> TxtConfrimPassword.Text Then
Response.Write("<script language=javascript>alert('两次输入的密码不相同,请重新输入!')</script>")
TxtNewUserName.Text = ""
TxtNewPassword.Text = ""
TxtConfrimPassword.Text = ""
Else
Try
sql = "UPDATE Center_User set UserID='" & TxtNewUserName.Text & "',pd='" & TxtNewPassword.Text & "' WHERE UserID = '" & Session("UserID") & "'"
OleDbSelectCommand1.CommandText = sql
OleDbDataAdapter1.Fill(DataSet11, "Center_User")
OleDbDataAdapter1.Update(DataSet11, "Center_User")
Catch
Response.Write("<script language=javascript>alert('用户名重复,请重新输入!')</script>")
TxtNewUserName.Text = ""
Exit Sub
Finally
End Try
Response.Write("<script language=javascript>alert('您已经修改成功!')</script>")
Server.Transfer("wzlmain.aspx")
End If
End If
End Sub
法1:TextBox ctrlURL=(TextBox)e.Item.FindControl("txtURL");//对模板列中的控件,
txtURL是模板列中的控件的id
法2:TextBox ctrlData= (TextBox)e.Item.Cells[3].Controls[0];//对于一般绑定列