0

在我的网页上有一个大表格和一个复选框。最初,该表未显示。当复选框被选中时,javascript 调用tablename.SetVisible(cb.GetChecked()). 这失败了,因为不可见的表格根本不在页面上,并且无法使其可见。调试器说:

Microsoft JScript 运行时错误:“表名”未定义

如果我将表格设置为可见,然后运行网页,复选框效果很好,并且能够使表格再次不可见和可见。

但是表格真的很大而且通常很烦人,那么我如何让复选框与最初不可见的表格一起使用?

其实这是用DevExpress的控件,但我觉得这不是DevExpress的问题。

服务器端源码只是:

protected void Page_Load(object sender, EventArgs e)
{
    gridResults.DataSource = ds.Tables["Results"];
    gridResults.KeyFieldName = "Sample_Name";
    gridResults.DataBind();
    gridResults.SettingsPager.PageSize = 100;
 }
4

1 回答 1

1

如果您在客户端执行此操作(例如在浏览器中),如果您的表格不在页面上,那么您将无法对其进行任何操作。

我建议如果您不想在页面上显示表格,则将其display样式属性设置为none;

C#:

gridResults.CssClass = "hidden";

CSS

.hidden{ display: none; }

然后,当您更改复选框的状态时,您只需切换hidden类。

JavaScript

document.getElementById('[gridResults_ID]').className = ""; // show the table

或者

document.getElementById('[gridResults_ID]').className = "hidden"; // hide the table again
于 2013-08-21T12:56:09.407 回答