2009-03-03 67 views
0

所以我有一个功能请求添加字段到GridView上单个数据行的第二个表格行。起初,我着眼于扩展GridView的功能,但很快意识到这将是一项艰巨的任务,因为我认为这一要求是对未来更大功能的挑战。也想在不久的将来转移到MVC,这将是扔掉代码。高级ASP.NET GridView布局

所以相反,我创建了一个小jQuery脚本来移动单元格到表中的下一行。

$(document).ready(function() { 
    $(".fieldAttributesNextRow").each(function() { 
     var parent = $(this).parent(); 
     var newRow = $("<tr></tr>"); 
     newRow.attr("class", $(parent).attr("class")); 

     var headerRow = $(parent).parent().find(":first"); 
     var cellCount = headerRow.children().length - headerRow.children().find(".hide").length; 

     newRow.append($(this).attr("colspan", cellCount)); 
     $(parent).after(newRow); 
    }) 
}); 

您怎么看待这个问题?这是一个糟糕的设计决定吗?我对这个解决方案的轻松感到非常满意。请提供您的想法。

回答

0

这是客户端代码,只要用户在加载后不打算使用gridview,它应该没问题。但是,如果你想回发做任何事情,这可能需要一些重构。

你想用gridview实现什么?重新提醒您可以挂钩到Row绑定事件,然后根据需要修改当前行。

+0

你是什么意思“玩电网”? 此脚本获取用“fieldAttributesNextRow”类标记的单元格,并将它们移动到其现有行下新创建的行。这完全是一个布局问题。 我正在使用回发来编辑/保存在网格上的内嵌一切都很好。 – chief7 2009-03-04 13:16:02