zoukankan      html  css  js  c++  java
  • GridView模板列在显示时的数据转换问题

    通常GridView控件在显示数据时,要将数据库中一些编号性质的数据显示成为相应的名称,如果编号和名称的对应是通过数据库中的表进行管理的,那么在给Gridview绑定数据时,数据源中包括名称字段就可以,如果编号和名称不是数据表管理的,而是固定的,如1表示新生班级,2表示二次分班,这种情况,就需要在Gridview控件的RowDataBind事件中进行相应处理。
    如果数据是显示在Girdview控件的绑定列中,则转换比较简单,参考如下代码:

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            
    if (e.Row.RowType == DataControlRowType.DataRow)
            {
                
    //将班级类别编号转换为班级类别名称
                  if (e.Row.Cells[5].Text == "1")  //5是要转换的列的序号,从0开始
                {
                    e.Row.Cells[
    5].Text = "新生班级";
                }
                
    else if (e.Row.Cells[5].Text == "2")
                {
                        e.Row.Cells[
    5].Text = "二次分班";
                }
            }
         }
    但是如果数据是显示在GridView控件的模板列中,则不能采用以上的方式,可参考如下代码:
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            
    if (e.Row.RowType == DataControlRowType.DataRow)
            {
                
    //将班级类别编号转换为班级类别名称
                Label lbl = (Label)e.Row.FindControl("Label7"); //使用模板列的情况
                if (lbl != null)
                {
                    
    if (lbl.Text.Trim() == "1")
                    {
                        lbl.Text 
    = "新生班级";
                    }
                    
    else if (lbl.Text.Trim() == "2")
                    {
                        lbl.Text 
    = "二次分班";
                    }
                }
    }
    "Label7"是模板列显示数据时借助的Label控件的ID
  • 相关阅读:
    [OS] 修改屏幕分辨率(用Remote Desktop Connection 或者 用工具:Remote Desktop Connection Manager)
    英文单词通用缩写表
    [Selenium] 怎样判断是否适合自动化测试
    [Selenium] Java代码获取,设置屏幕分辨率
    [Selenium] Java代码获取屏幕分辨率
    [Selenium] 最大化或自定义浏览器的大小
    跟我一起玩Win32开发(7):多边形窗口
    跟我一起玩Win32开发(5):具有单选标记的菜单
    跟我一起玩Win32开发(6):创建右键菜单
    跟我一起玩Win32开发(4):创建菜单
  • 原文地址:https://www.cnblogs.com/lavenderzh/p/1545221.html
Copyright © 2011-2022 走看看