<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, "数字" ))%>

解决方案 »

  1.   

    Label1.Text = <%# SwitchContent((int)DataBinder.Eval(Container.DataItem, "数字" ))%>"数字"是什么意思?
      

  2.   

    在datagrid_onItemDatabound()事件中操作,灵活性比较大,推荐使用
    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.   

    绑定之前先增加dataset.table("youname").columns.add("文字",Type.getType("System.String"))属性阿
      

  4.   

    alieneagle()你好
    能否通过判断新闻类型列的索引,直接将图标加到新闻标题列后面。
    比如将:
    判断第3列新闻级别列和判断第4列图片类型列,将不同标志图片加到第一列新闻标题后面。
      

  5.   

    用sql更好.
    select 字段名 case when 1 then "系统管理员" when 2 then "网站管理员" when 3 then "新闻管理员" end from table
      

  6.   

    这两个问题 实质上是一个问题 在DataGrid的 ItemDataBound事件里:(vb.net)
    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
      

  7.   

    C#表示为
    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}
      

  8.   

    谢谢!tix66(网络游仔) 已经实现加图片功能!
    我还有一个问题是如何从模板列取值,用e.Item.Cells[6].Text无法从模板列取值!
      

  9.   

    在DataGrid中让不同条件的行显示不同的背景颜色?
    通过如下方法做时:在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;            
    }
      

  10.   

    这是我调试过的,一点问题都没有
    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
      

  11.   

    模板列取值 CType(e.Item.Cells[6].findControl("模板列Id"),textbox).text
      

  12.   

    模板列取值 CType(e.Item.Cells[6].findControl("模板列中定义的TextBox的Id 名字"),textbox).text
      

  13.   

    模板列取值两种方法:
    法1:TextBox ctrlURL=(TextBox)e.Item.FindControl("txtURL");//对模板列中的控件,
        txtURL是模板列中的控件的id 
    法2:TextBox ctrlData= (TextBox)e.Item.Cells[3].Controls[0];//对于一般绑定列