当我使用下面的代码时,我删除了DataTable值,但是数据表结构仍然存在,并且显示空字段(参见图片),DOM浏览器显示一个空表和表行。
如何清除DataTable值和表本身?这样当我再次重新填充搜索时,空的较小的表就不存在了吗?
lvwOutput.Items.Clear();
lvwOutput.DataSource = null;
lvwOutput.DataBind();
在此之前
在items.clear之后,数据源= null
发布于 2018-06-05 05:01:01
您可以创建一个在会话中存储数据表的属性,这样您就可以在单击事件期间访问它。
DataTable dtbleDataSource
{
get
{
return Session["dataSource"] as DataTable
}
set
{
Session["dataSource"] = value;
}
}
在单击事件中,您可以说:
dtbleDataSource.Reset();
发布于 2018-06-05 05:41:13
这很可笑,我相信有一种更好的方法可以做到这一点,但永无止境的服务器/客户端之争使这一点变得更加困难。绑定到数据表的列表视图称为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();
https://stackoverflow.com/questions/50688399
复制相似问题