1。可能的问题是,你在ItemCommand的事件中也写了语句,因为update_command 事件是先执行ItemCommand事件,在执行update_command 的事件2。if(id==2)
{
   e.Item.Cells[3].Visblie=false
}

解决方案 »

  1.   

    第二个问题可以利用itemDataBound事件来控制
        Private Sub DataGrid_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles Grid.ItemDataBound If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.EditItem Then
       dim id as long = getID()
       if id=2 then
        e.Item.Cells(i).Visible=false
        e.Item.Cells(j).visible=false
       end if   'other operations go here
    end if    End Sub
      

  2.   

    回:1.我在ItemCommand里没有语句;
       2.在DataGrid_ItemDataBound里面试过了,似乎不管用,语句如下:
         CheckBox chb=e.item.FindControl("checksel");
         Label l=(Label)e.item.findcontrol("xmbh");
         string xmbh=l.text();
         if(xmbh.lenght==2)
          chb.visible=false;不管用?
     还有那个编辑列怎么处理呀?
      

  3.   

    //隐藏一列
    this.DataGrid1.Columns[3].Visible = false;
      

  4.   

    1.各位先说说为什么update里面的会执行两遍呢?
    2.我不能整列的隐藏,而是把符合条件的某行的该列给隐藏
      

  5.   

    写一个函数 (服务器端的)
    然后在html里面调用
      

  6.   

    那为什么了update_command里面的语句会执行两边那?
      

  7.   

    (CheckBox)(e.Item.Cells[3].Cells[3].FindControl["CheckBox1"]).Visblie=false
      

  8.   

    1.页面加载的时候利用if(!IsPostBack),我怀疑是加载两遍2.像我上面说的,找到CheckBox控件,并设置隐藏属性
      

  9.   

    呵呵,那个代码写错了,要去掉一个Cells[3]
      

  10.   

    在page_load里面已经if(!IsPostBack)了,还是执行两遍
    真不知道为什么了
    帮忙了
      

  11.   

    To:: wagod(天使之恋),还是隐藏不了呀