【问题标题】:How to display some column in grid view?如何在网格视图中显示某些列?
【发布时间】:2019-01-14 05:51:28
【问题描述】:

我想在登录系统后在数据网格视图中显示用户配置文件的特定列,但我的问题是用 asp.net sql server 显示 C# 中的所有列,任何人都可以帮助我吗?

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        if (Request.QueryString["MyID"] != null)
        {
            if (!IsPostBack)
            {
                string Id1 = Request.QueryString["MyID"];
                dt = d.userunfo(Id1);
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }

        }
    }
}

【问题讨论】:

标签: c# asp.net sql-server gridview


【解决方案1】:

在您的GridView 中添加OnRowDataBound

<asp:GridView ID="GridViewID" runat="server" OnRowDataBound="gvTest_RowDataBound" >

RowDataBound

首先,检查用户的角色,然后您可以检查条件并隐藏您的列

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
 {
  //check User Type
   int userType = //Your User Type Here;
   if (userType == 1)
    {
      GridViewID.Columns[15].Visible = false;
    }
   else if (userType == 2 || userType == 3)
    {
     GridViewID.Columns[5].Visible = false;
     GridViewID.Columns[6].Visible = false;
    }                                                                                                                                     
  }

【讨论】:

    【解决方案2】:

    确保已将列的 Datasource 属性指定为数据库列名

    【讨论】:

      【解决方案3】:

      你想要这个吗?

      protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
      {
          e.Row.Cells[index].Visible = false;
      }
      

      你可以查看这个答案。

      GridView Hide Column by code

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-21
        • 2014-12-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多