当我使用下面的代码时,我删除了数据表值,但数据表结构仍然存在并显示空字段(请参阅图片),DOM资源管理器显示空表和表行。
如何清除数据表值和表格本身?这样,当我再次重新填充搜索时,空的小表不会出现?
lvwOutput.Items.Clear();
lvwOutput.DataSource = null;
lvwOutput.DataBind();
在
在items.clear和datasource = null之后
答案 0 :(得分:0)
您可以创建一个属性,将数据表存储在会话中,这样您就可以在click事件期间访问它。
DataTable dtbleDataSource
{
get
{
return Session["dataSource"] as DataTable
}
set
{
Session["dataSource"] = value;
}
}
在点击活动中,您可以说:
dtbleDataSource.Reset();
答案 1 :(得分:0)
这太荒谬了,我相信有更好的方法可以做到这一点,但永无止境的服务器/客户端战争使得这比现在更难。绑定到数据表的我的listview称为lvwOutput。
在我的btnClear中,我不得不提出以下内容。您无法隐藏元素或清除服务器端asp代码中的项目以使其正常工作
ScriptManager.RegisterStartupScript(Page, GetType(), "emptyTable", "javascript:emptyTableRows(); ", true);
在我的javascript代码中,我必须输入以下内容,这会清除客户端代码
function emptyTableRows(){
var tableHeaderRowCount = 0;
var table = document.getElementById('lvwOutputTable');
var rowCount = table.rows.length;
for (var i = tableHeaderRowCount; i < rowCount; i++) {
table.deleteRow(tableHeaderRowCount);
}
}
然后在我的代码部分中,当用户启动另一个sql搜索时,它将显示listview和datatable。这清除了服务器端。
lvwOutput.Items.Clear();
lvwOutput.DataSource = null;
lvwOutput.DataBind();