【问题标题】:how can i get a gridview column number from the header row value如何从标题行值中获取 gridview 列号
【发布时间】:2013-07-26 17:15:23
【问题描述】:

我有一个页面,根据用户是否经过身份验证,gridview 中的某些列不显示。在行数据绑定事件中,我需要根据标题文本确定需要应用格式的单元格的列号

我需要按照下面显示的内容做一些事情。

If User.Identity.IsAuthenticated Then
            Dim revColumn As Integer = row."Headercelltext find it"
            row.Cells(revColumn).Text = String.Format("{0:c0}", Convert.ToDouble(row.Cells(revColumn).Text))
        End If

【问题讨论】:

  • 在gridview的Databound事件上做你的工作
  • 它在数据绑定事件中,但是如何使用列标题中的文本检索列号?
  • Column No 是什么意思?你能解释一下吗
  • gridview 有列以便访问列,编码类似 rows.Cells(4).Text =.... 你需要能够检索列号,4 在这个示例

标签: asp.net gridview


【解决方案1】:

试试这个

对于基于Role的隐藏列

 protected void Page_Load(object sender, EventArgs e)
    {
       GridView1.Columns[3].Visible = false;
    }

格式化

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {

            if (Session["Role"] == "admin")
                btnVal.Enabled = false;
        }
    }

按列文本查找列索引

 private int GetColumnIndexByName(GridView grid, string name)
    {
        foreach (DataControlField col in grid.Columns)
        {
            if (col.HeaderText.ToLower().Trim() == name.ToLower().Trim())
            {
                return grid.Columns.IndexOf(col);
            }
        }

        return -1;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    相关资源
    最近更新 更多