2009-03-03 70 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