我顯示jqGrid食譜表併爲用戶提供主 - 細節類型視圖。當用戶從網格中選擇配方時,它會在網格下方的div中顯示該配方的詳細信息。然後,我在該div內提供一個就地編輯功能。當用戶保存編輯時,我會重新顯示配方的詳細信息。這一切運作良好。現在,選擇的網格行可能有不匹配的內容的細節更新後顯示的數據,所以我做這樣的事情來更新網:更新jqGrid行時格式丟失
$.ajax({
type: "GET",
data: "id=" recipeId,
url: '@Url.Action("GetGridDataForRecipe", "Recipe")',
dataType: "json",
success: function (result) {
var myGrid = $("#recipeGrid");
var selRowId = myGrid.jqGrid('getGridParam', 'selrow');
myGrid.jqGrid('setRowData', selRowId, result);
}
});
我的控制器動作看起來像這樣:
public JsonResult GetGridDataForRecipe(int id)
{
// ...
var recipeData = context.recipes.Where(m => m.RecipeId == id).Select(row => new
{
RecipeId = row.RecipeId,
RecipeName = row.RecipeName,
RecipeDate = row.RecipeDate,
}).First();
return Json(recipeData, JsonRequestBehavior.AllowGet);
}
所以,更新工作方式幾乎完全與該RecipeDate進入最終的例外越來越顯示像這樣:
/Date(1317182400000)/
,而不是格式化的日期:
10/03/2011
我在colModel
指定的,當我返回網格行:
{ name: 'RecipeDate', index: 'RecipeDate', width: 120, align: 'left', sorttype: 'date',
formatter: 'date', formatoptions: { newformat: 'm/d/Y'},
...
這裏有顯示的網格時我指定的colModel
,我以後更新的數據之間的脫節。我是否需要重新指定這些信息?我怎麼做?
感謝達林 - 現在,這比我想象的要簡單得多。很棒。 – itsmatt
這個答案需要在服務器端複製格式化代碼,這遠遠不夠理想。我會繼續尋找。 – DCShannon