按钮点击后能根据Gridview某列填写的内容隐藏显示,且不影响时时填写的内容
按钮点击后能根据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编辑时会有个遍历
}
}
}
------解决方案--------------------不太明白整体的意思,但
[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);
}
------解决方案--------------------
用js来实现。
var table = document.getElementById("<%=gridview.ClientID%>");
把这个table返回就可以了。
------解决方案--------------------试试linq与datatable结合的加载到Gridview