按钮点击后能根据Gridview某列填写的内容隐藏显示,且不影响Gridview时时填写的内容。
我的Gridview是用的点击进行编辑的方法。
初步想了个方法
展开显示全部按钮Click事件:
 protected void LinkButton_ViewAll_Click(object sender, EventArgs e)
    {
              //将未隐藏的显示,也就是列中未填内容的
    }
收缩按钮Click事件:
    protected void LinkButton_Relevance_Click(object sender, EventArgs e)
    {
  DataTable dt = new DataTable();
        for (int i = 0; i < this.GridView.Rows.Count; i++)
        {
            Label lb = (Label)this.GridView.Rows[i].FindControl("Label_DFTComments");
            if (lb.Text == "")//为空时隐藏
            {
                this.GridView.Rows[i].Visible = false;
            }
else
{
//[color=#0000FF]不为空时将未隐藏的列依次加到 上面的 dt中 该如何加??????[color]这个的主要原因是考虑到点击Gridview编辑时会有个遍历
}
            
        }    }

解决方案 »

  1.   

    不太明白整体的意思,但[color=#0000FF]不为空时将未隐藏的列依次加到 上面的 dt中 该如何加??????[color]这个的主要原因是考虑到点击Gridview编辑时会有个遍历此句实现的方法思路。
    DataTable dt = new DataTable();
             for (int i = 0; i < this.GridView.Rows.Count; i++)
             {
                 Label lb = (Label)this.GridView.Rows[i].FindControl("Label_DFTComments");
                 if (lb.Text == "")//为空时隐藏
                 {
                     this.GridView.Rows[i].Visible = false;
                 }
     else
     {  
    //加内容
          DataRow dr = dt.NewRow();
            dr["项"] = 内容;
            dt.Rows.Add(dr);

     }
      

  2.   

    将未隐藏的Gridview行取出来加到dt中
      

  3.   

    Gridview中有隐藏行,只要能把未隐藏行赋值给Datatable就行,难道要一行一行赋?有简单的方法不?
      

  4.   

    用js来实现。
    var table = document.getElementById("<%=gridview.ClientID%>");
    把这个table返回就可以了。
      

  5.   

    试试linq与datatable结合的加载到Gridview