ASP.net 2.0 Gridview扩展面板行 - 如何建立面板“飞”

ASP.net 2.0 Gridview扩展面板行 - 如何建立面板“飞”

问题描述:

我目前正在建立一个具有可扩展行的GridView。每行都包含一个动态创建的面板表单元素。现在,我有一个javascript函数,在Gridview行上单击图像时展开(或者在我的情况下,使得可见)面板。ASP.net 2.0 Gridview扩展面板行 - 如何建立面板“飞”

我的问题是......有没有更高效的方法来做到这一点。不要扯我的所有数据开始,建立每个新行,因为我数据绑定的,是有没有办法简单的创建与小组充分的飞行文本框和dropdownlists的行,当用户点击展开按钮?”

我想通过做这种方式,而不是如何我目前正在做它来限制服务器的调用,通过每一行循环和创建具有表单元素的新面板和插入到这行是隐藏的。

实际工作这个最近到AJAX处理程序返回的形式结构。这是按需提供的,运作良好。只需通过jQuery调用$ ajax,返回一个HTML结构,注入DIV。这对实际功能有点限制,所以要小心。

个人试图在飞行中创建数据很可能会导致用户体验变慢。

当我按照您所描述的操作进行操作时,通常使用中继器,这样我可以在emplate布局,只需简单定义所有需要的元素,并处理绑定操作。

否则,我会想象你的方式不会太慢,因为它是。

实际上,它的性能并不好,因为我的原始SQL查询可以填充每一行,并且我已经在Gridview上启用了分页。我只是想知道它们是否可以使用PageMethods或某种JSON/AJAX解决方案实时构建。我没有看到任何东西,但是...值得一试。

您可以重写RowdataBound事件,并根据单元格中的数据添加所需的任何控件。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx