zoukankan      html  css  js  c++  java
  • 如何取GridView中隐藏列的值

    最近在做一个项目时,有一个要求是选择GRIDVIEW列表中的项(通过CHECKBOX),然后删除所选择的数据

    代码如下:

        /// <summary>
        /// 摘要:删除单据明细列表中选择的明细信息
        /// 创建人:贺振军
        /// 创建日期:2009.07.09
        /// </summary>
        private void DelDjMx()
        {
            foreach (GridViewRow row in this.gvordermx.Rows)
            {
                CheckBox chk = (CheckBox)row.Cells[0].FindControl("chkrow");

                if (chk.Checked == true)
                {
                    //删除临时表中的数据
                    string strpk = row.Cells[1].Text

                    ordermx.Table_Dele_Temp(strpk);

                }
            }

            this.gvordermx.DataSource = ordermx.TempTabl;

            this.gvordermx.DataBind();
        }

          在运行时发现因为第二列我做成隐藏列,所以使用 row.Cells[1].Text 永远取到的都是空值(原来VS2003可能可以取到,但VS2008,VS2005不能取),经过测试可以将这一列设置为关键字列即 DataKey = "XH",然后将此列隐藏即可,列值就可以通过下面的代码即可取得。

        /// <summary>
        /// 摘要:删除单据明细列表中选择的明细信息
        /// 创建人:贺振军
        /// 创建日期:2009.07.09
        /// </summary>
        private void DelDjMx()
        {
            foreach (GridViewRow row in this.gvordermx.Rows)
            {
                CheckBox chk = (CheckBox)row.Cells[0].FindControl("chkrow");

                if (chk.Checked == true)
                {
                    //删除临时表中的数据
                    string strpk = gvordermx.DataKeys[row.RowIndex].Value.ToString();

                    ordermx.Table_Dele_Temp(strpk);

                }
            }

            this.gvordermx.DataSource = ordermx.TempTabl;

            this.gvordermx.DataBind();
        }

    特此记录一下

  • 相关阅读:
    C++解析XML
    C/C++获取CPU等硬件信息&&屏幕截图
    C/C++使用Socket通信UDP
    C/C++远程开机
    通过匿名管道获取CMD运行结果
    管道同步通信
    VS2013入门驱动配置测试
    仿LordPE获取PE结构
    ossutil64 替换 lrzsz 方法
    shell perl 等
  • 原文地址:https://www.cnblogs.com/hzj3099/p/1520013.html
Copyright © 2011-2022 走看看