如何在datagrid中实现选择性显示数据,即使符合某条件才显示。或是符合某条件是,编辑按钮就disable.有原代码就立刻给分。

解决方案 »

  1.   

    貌似楼主不清楚
    datagrid只是一个绑定的控件,真正的判断都是在sql处理的!
      

  2.   

    在页面可以进行判断吗?在datagrid 里面
      

  3.   

    那你可以用dropdownlist 去控制,或者在后台用sql语句直接控制。
      

  4.   

    直接在sql语句筛选判断啊
      

  5.   

      可以在SQL 语句 里判断,要是你真不想在SQL 里,  在 DataGrid1_ItemDataBound()事件里处理...下面是我的一个例子,希望可以帮你..(这是绑定时去掉文件的后缀名的)
      private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)  //去掉数据库中软件名称的后缀名
    {
    if(e.Item .ItemType == ListItemType.Item ||e.Item .ItemType ==ListItemType .AlternatingItem )
    {
    e.Item.Cells [2].Text =e.Item .Cells [2].Text.Substring (0,e.Item .Cells [2].Text.IndexOf ("."));  //截取.点后面的

    }
      

  6.   

    直接在sql语句筛选判断啊 
      

  7.   

    我知道可以用SQL判断,那如果真的需要怎么办?还有我说的后面那个要求呢?即使符合某条件是编辑键和删除键就disable.这应该怎么办呢?
      

  8.   

    那你在后天判断吧,在row_databound事件中,用findcontrol去控制enable。
    if(e.Item.ItemType == ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    //this.Response.Write(e.Item.Cells[4].Text);//1.2.3.4....

    if(e.Item.Cells[4].Text.ToLower()=="true"||e.Item.Cells[4].Text=="1")
    {
    ((LinkButton)e.Item.FindControl("lbtntj")).Enabled=false;
    ((LinkButton)e.Item.FindControl("lbtncancel")).Enabled=true;
    }
    else if(e.Item.Cells[4].Text.ToLower()=="false")
    {
    ((LinkButton)e.Item.FindControl("lbtncancel")).Enabled=false;
    ((LinkButton)e.Item.FindControl("lbtntj")).Enabled=true;
    }
    }
    这是我在vs03中的。你看看能不能帮上忙。