在gridview已经绑定数据的页面中如果要做二次查询,可用到如下方法:即用javascript动态生成每列对应的一个textbox,然后在user输入条件之后进行查询。其中关键就是如何无刷新的插入条件。javascript代码如下(放于页面的<body></body>部分,运行时生成)
<script type="text/javascript">
function InsertReQuery() {
table = document.getElementById('<%=GV_ReleaseResult.ClientID%>');//由于在模板页中所以取control的ID时需加上ClientID
tr = table.insertRow(0);
td = tr.insertCell(0);
td = tr.insertCell();//前面的空格
td.innerHTML = '<asp:Button ID="btn_ReQueryAction" runat="server" Text="Query" OnClick="btn_ReQueryAction_Click"/>';
//requery按钮及click事件。
for (i = 0; i < table.rows[2].cells.length -3; i++)
{//循环添加textbox
td = tr.insertCell();
td.innerHTML = "<input id=\"ReQuery_TextBox_" + i + "\" name=\"ReQuery_TextBox_" + i + "\" type=\"text\"/>";
}
document.getElementById("btn_ReQuery").disabled = "disabled";
// document.getElementById("ctl00_cphPage_btn_ReQueryAction").visible = "true";
}
function saveshow() {
document.getElementById('<%=Pn_Save.ClientID%>').style.visibility = "visible";
}
</script>
查询的条件组合在后台click事件里面组织就可以了,在这里我是用arraylist对应收集相关条件查询的。