1,dataTable.Clear()
2,dataTable.Rows.Clear()
1,dataTable.Clear()和dataTable.Rows.Clear() 都是删除全部的表数据,但不会删除表结构(列信息 ),使用时不必做区分,任选其一都可以。
2,DataTable.Reset方法。将全部数据和表结构(列信息)都删除。
3,用DataRow.Delete()方法删除行后,DataTable的行数不会变,在foreach语句中仍然可以遍历到删除的行,但是不能访问行中的值, 会报System.Data.DeletedRowInaccessibleException的异常。
4,DataTable.GetChanges() 方法也可以取到删除后的行,但是也不能访问行中的值,会报异常。
5,DataTable没有显示实现IDisposable接口,对dataTable.Dispose() 的调用实际上是调用的DataTable的一个父类MarshalByValueComponent的 Dispose() 方法,由于这个原因,Dispose() 方法不会清除DataTable的行数据。因此,如果要完全销毁一个DataTable,可以这样写代码:
1 dataTable.Clear()
2 dataTable.Dispose()
3 dataTable = null
首先分析下你的页面 页面运行后 自动从session中取出对应的值然后调用你的函数来进行输出 所以说只要你的session中有值 页面一旦刷新 就会从新加载 结果就是 表格一定会输出 所以现在问题就是移动到了你要处理session中的值 ,我换个说法,也就是说只要你的session中有值 页面刷新肯定会出现这个值 你用js只是将这个表格删掉 也就是说你上面的函数变成了没有表格 但是值还有 所以说会出现表格没了 但是值还有。我有一个提议 难道说一定要用js么?打个比方如果说我使用一个a链接 点击后传递一个id值到当前页面 然后你再做输出时候 用 $id = isset($_GET['id'])?:$_GET['id']:''这句话来获取一下 id值 然后判断如果这个id有值的话 就直接将session中的对应的信息删除就好了
你这段运行的关键在于session中的值 只要session中有值,输出一定输出 如果session中没了值 肯定不会输出。
非要用js的话 我能想到的只有ajax来使用 要不你的session中的值永远清不掉 清不掉就代表会显示
还有就是 如果说这个值没用的话 那么就是直接使用js动态给表格添加一个属性 display = 'none'让这个表格不显示就是了 但是这个说白了还是在骗自己 显示没了但是其实数值还有 所以说治标不治本