当前位置: 首页 > news >正文

动态生成数个gridview Button得到隐藏ID列的值

 
-------SQL
  string sql = @"select ID,ProductName as '产品',CatelogID as '分值',UpdatedOn as '兑换点数'
FROM dbo.T_WAP_Product where CatelogID=@categoryID";
--------
protected void Page_Load(object sender, EventArgs e)
        {
            DataSet productDS = ProductDao.GetAllWapProducts();
            GridView productGV = null;
 
            for (int i = 0; i < productDS.Tables.Count; i++)
            {
                productGV = BindGridView(productDS.Tables[i]);
                productsTb.Controls.Add(productGV);
//如果需要隐藏ID列,一定要先bindgridview 再设置ID列不显示,不然拿不到ID
                productGV.Columns[0].Visible = false;
            }
 
        }
 
        private GridView BindGridView(DataTable dt)
        {
 
            Literal categoryNameLiteral = new Literal();
            categoryNameLiteral.Text = dt.TableName;
 
            GridView productGV = new GridView();
 
            productGV.AutoGenerateColumns = false;
            productGV.RowDataBound += new GridViewRowEventHandler(productGV_RowDataBound);
 
            for (int i = 0; i < dt.Columns.Count; i++)
            {
                BoundField bc = new BoundField();
                bc.DataField = dt.Columns[i].ColumnName.ToString();
                bc.HeaderText = dt.Columns[i].Caption.ToString();
                productGV.Columns.Add(bc);
            }
 
            CommandField cfModify = new CommandField();  //绑定命令列
            cfModify.ButtonType = ButtonType.Button;
            cfModify.ControlStyle.CssClass = "input_sblue";
            cfModify.SelectText = "查看详情";
            cfModify.ShowSelectButton = true;
 
            productGV.Columns.Add(cfModify);
 
            productGV.DataSource = dt;
            productGV.DataBind();
 
            productsTb.Controls.Add(categoryNameLiteral);
 
            return productGV;
        }
 
        void productGV_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                ((Button)(e.Row.Cells[4].Controls[0])).Attributes.Add("onclick", "javascript:test(this);return false;");
                ((Button)(e.Row.Cells[4].Controls[0])).Attributes.Add("name", e.Row.Cells[0].Text);
            }
        }
 
    private void SetCategoryNameStyle(string tableName)
    {
        Label categoryNameLbl = new Label();
        categoryNameLbl.Text = tableName;
 
        System.Drawing.ColorConverter colConvert = new ColorConverter();
        categoryNameLbl.BackColor = (System.Drawing.Color)colConvert.ConvertFromString("#0e93db");
 
        categoryNameLbl.CssClass = "tdStyle";
 
        productsTb.Controls.Add(categoryNameLbl);
    }
 
//前台JS

function test(o) {
//debugger
alert("ID"+o.name);
}

 
 CSS
.input_sblue{
      background:-webkit-gradient(linear, 0 0, 0 100%, from(#0061a8), to(#208bff));
      background:-moz-linear-gradient(top, #0061a8, #208bff);
      filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#0061a8, endColorstr=#208bff,grandientType=0);
      font-size:12px;
      color:#fff;
      font-weight:bold;
      padding:5px 5px;
      border-radius:5px;
      }
 

.mem_table3 tr td{ border:1px solid #97dbff;text-align:center; height:33px; padding:0 10px;}
.mem_table3{ margin:0 auto;}
.clr4 {
color:#fff;
}/*白色*/

 

转载于:https://www.cnblogs.com/Amity/p/3153371.html

相关文章:

  • BSD常见分支
  • net IL 反编译教程
  • 安装SCCM 2012 SP1 前期准备(三)
  • Linux进程同步之记录锁(fcntl)
  • Python学习笔记3
  • Linux安装Xcache缓存器
  • linux下/etc/fstab文件详解
  • Oracle RMAN配置EXCLUDE FOR TABLESPACE
  • 使你更有思想的20本书
  • Swing手动进行最大化最小化
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • 【转】设计模式介绍
  • 将asi-http-request引入到ARC工程需要做的 转
  • 【Android开发坑系列】之Fragment
  • WPF中Visible设为Collapse时,VisualTreeHelper.GetChildrenCount为0
  • [Vue CLI 3] 配置解析之 css.extract
  • Apache Pulsar 2.1 重磅发布
  • CSS3 变换
  • ES6系列(二)变量的解构赋值
  • GraphQL学习过程应该是这样的
  • Java反射-动态类加载和重新加载
  • k个最大的数及变种小结
  • leetcode讲解--894. All Possible Full Binary Trees
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 读懂package.json -- 依赖管理
  • 二维平面内的碰撞检测【一】
  • 浮动相关
  • 复习Javascript专题(四):js中的深浅拷贝
  • 入手阿里云新服务器的部署NODE
  • 微服务入门【系列视频课程】
  • 阿里云ACE认证之理解CDN技术
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • (09)Hive——CTE 公共表达式
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (十三)Flask之特殊装饰器详解
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • .gitignore
  • .NET CLR Hosting 简介
  • .Net FrameWork总结
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net 按比例显示图片的缩略图
  • .net 程序发生了一个不可捕获的异常
  • .net 后台导出excel ,word
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .Net语言中的StringBuilder:入门到精通
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • [17]JAVAEE-HTTP协议
  • [Android]Android开发入门之HelloWorld
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [BJDCTF 2020]easy_md5