用datagrid 显示,
上级用户登录时 全部显示
下级用户登录时,有些列不显示
怎么样可以做到?

解决方案 »

  1.   

    根据权限 设置DataGrid.Columns[列编号].Visiable
      

  2.   

    在设计数据库时设定用户级别,如果未下级
    DataGrid1.Columns[2].Visible = false;
    如果未上级
    DataGrid1.Columns[2].Visible = true;
      

  3.   


     xiahouwen(活靶子.NET)  :
    DataGrid.Columns[列编号].Visiable可以
    列编号以0为启始
      

  4.   

    在datagrid的ItemDataBound事件里判断,如果不对隐藏第一列
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(Session["grade"].ToString()=="abc")
    e.Item.Cells[0].Visible=true;
    else
    e.Item.Cells[0].Visible=false;


    }
      

  5.   

    Visible
    就用这个搞定就好了。
      

  6.   

    判断权限是上级的话
    DataGrid.Columns[列编号].Visiable=true;
      

  7.   

    for (int j = 0 ; j<dg.Columns.Count; j++)
    {
    if (DT.Rows[i]["IsView"].ToString()=="False" && dg.Columns[j].HeaderText.Trim().TrimStart().TrimEnd()=="查看")
    {
    dg.Columns[j].Visible=false;
    }
    if (DT.Rows[i]["IsEdit"].ToString()=="False"&&dg.Columns[j].HeaderText.Trim().TrimStart().TrimEnd()=="编辑")
    {
    dg.Columns[j].Visible=false;
    }
    if (DT.Rows[i]["IsDel"].ToString()=="False"&&dg.Columns[j].HeaderText.Trim().TrimStart().TrimEnd()=="删除")
    {
    dg.Columns[j].Visible=false;
    }
    }上面是我的代码的一小部份在页面基类的page_load中判断。