在我的网页上有一张大表和一个复选框。最初,该表未显示。选中此复选框后,javascript会调用tablename.SetVisible(cb.GetChecked())
。这会失败,因为隐藏表根本不在页面上而无法显示。调试器说:
Microsoft JScript运行时错误:'tablename'未定义
如果我将表格设置为可见,然后运行网页,该复选框可以很好地工作,并且可以使表格不可见并再次可见。
但是这张桌子非常大而且通常很烦人,所以如何让复选框与最初看不见的桌子一起使用?
事实上,这是使用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;
}
答案 0 :(得分:1)
如果您是在客户端(例如在浏览器中)执行此操作,如果您的表不在页面上,那么您将无法使用它执行任何操作。
我建议如果你不想在页面上显示表格,那么你将它的display
样式属性设置为none
;
C#:
gridResults.CssClass = "hidden";
CSS
.hidden{ display: none; }
然后,当您更改复选框的状态时,只需切换hidden
类。
的JavaScript
document.getElementById('[gridResults_ID]').className = ""; // show the table
OR
document.getElementById('[gridResults_ID]').className = "hidden"; // hide the table again