if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            DataRowView drv = (DataRowView)e.Item.DataItem;
            if (drv != null)
            {
                //用户ID
                string Id = drv["userinfo_id"].ToString();
                //用户区分
                string Dstinction = drv["userinfo_dstinction"].ToString();
                //判断管理员Session["UserID"]是从登陆画面传过来的
                if (Session["UserID"].Equals("admin"))
                {
                }
                //判断用户区分Session["UserPower"]是从登陆画面传过来的
                else if (Session["UserPower"].Equals("admin"))
                {
                    //Dstinction = DataList上的用户区分
                    if (Dstinction.Trim().Equals("admin"))
                    {
                        //id = DataList上的用户ID
                        if (!Id.Trim().Equals(Session["UserID"]))
                        { 
                            //隐藏DataList的第6,7列
//怎么把DataList的某列给隐藏啊!!!!!!!!
//用ItemDataBound来取出绑定在DataList值来判断此数据有没有权限来不显示某列.
                        }
                    }
                }
            }
        }

解决方案 »

  1.   

    不如用这样的方式吧,CheckDisplay是个后台方法,可用参数的形式传数据
            <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" OnItemDataBound="DataList1_ItemDataBound" RepeatColumns="2">
           <SelectedItemStyle Wrap="False"></SelectedItemStyle>
    <EditItemStyle Wrap="False"></EditItemStyle>
    <AlternatingItemStyle Wrap="False"></AlternatingItemStyle>
    <ItemStyle Wrap="False"></ItemStyle>
    <ItemTemplate>
    <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
    <TR>
    <TD vAlign="middle" align="left" height="25"><%# Eval("Title")%></TD>
    <TD vAlign="middle" align="left" style='display:<%# CheckDisplay("ID").ToString())%>' ><%# Eval("State")%></TD>
    <TD vAlign="middle" align="left"><%# Eval("Title")%></TD>
    </TR>
    </TABLE>
    </ItemTemplate>
            </asp:DataList>    public bool CheckDisplay(string Id)
        {
            //判断管理员Session["UserID"]是从登陆画面传过来的 
            if (Session["UserID"].Equals("admin"))
            {
            }
            //判断用户区分Session["UserPower"]是从登陆画面传过来的 
            else if (Session["UserPower"].Equals("admin"))
            {
                //Dstinction = DataList上的用户区分 
                if (Dstinction.Trim().Equals("admin"))
                {
                    //id = DataList上的用户ID 
                    if (!Id.Trim().Equals(Session["UserID"]))
                    {
                        //隐藏DataList的第6,7列 
                        //怎么把DataList的某列给隐藏啊!!!!!!!! 
                        //用ItemDataBound来取出绑定在DataList值来判断此数据有没有权限来不显示某列. 
                    }
                }
            }         return true;
        }
      

  2.   

    設置糢闆列,模板列中 加 LABLE。LABLE幫定要隱藏的數據。LABLE的visible =false
      

  3.   

     //隐藏DataList的第6,7列 
    //怎么把DataList的某列给隐藏啊!!!!!!!! 
    //用ItemDataBound来取出绑定在DataList值来判断此数据有没有权限来不显示某列. 】】】
    (e.Item.Cells[2].Controls[5]).Visible = true;
    编号都从零开始编号。cells定位列
      

  4.   

    实现就是 
    (e.Item.Cells[5].Controls[0]).Visible = false;//第六列隐藏
    (e.Item.Cells[6].Controls[0]).Visible = false;//第七列隐藏
      

  5.   

    艾。lz你的代码逻辑不是一般性的乱阿;你应该把是否拥有权限写一个方法,返回是否拥有权限;
    至于你说的列,在DataList控件里面是没有列的概念的,他把所有的东西都是放在了模版列内了。
    如果是你自己画的列,那最好使用服务器控件的Table,通过tr的id去隐藏。(当然每个列都放在panel里面也行,办法很多拉)