如何从标题行值中获取gridview列号

时间:2013-07-26 17:15:24

标签: asp.net gridview

我有一个页面,取决于用户是否经过身份验证,或者不显示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

1 个答案:

答案 0 :(得分:0)

试试这个

根据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;
    }