0

私はこれであるjsonを持っています:

        var jsonData = new
        {
            total = totalPages,
            page = page,
            records = totalRecords,
            rows = reservations.Select(x => new { x.ReservationId, x.Employee.Name,roomName = x.Room.Name, x.Date, x.StartTime, x.EndTime, x.Notes}).ToList()
                .Select(x => new
                {
                    id = x.ReservationId,
                    cell = new string[]
                    {
                    roomName,
                    x.Name,
                    x.Date.ToString().Split(' ')[0],
                    x.StartTime.ToString().Remove(5) +" - " +x.EndTime.ToString().Remove(5),
                    x.Notes,
                    String.Format("<input type=\"button\" value=\"DETAILS\" onclick=\"window.location.href='/Reservation/Details/{0}'\"/>&nbsp &nbsp<input type=\"button\" value=\"EDIT\" onclick=\"window.location.href='/Reservation/Edit/{0}'\"/>&nbsp &nbsp<input type=\"button\" value=\"DELETE\" onclick=\"window.location.href='/Reservation/Delete/{0}'\"/>", x.ReservationId), 
                    }
                }).ToArray(),
        };

このjsonはjqGridに返されます。最初のselectステートメントでx.Room.Nameと入力すると、同じ名前のプロパティ(iexEmployee.Name)が既に存在するため、エラーが発生しました。

そこで、「roomName = x.Room.Name」を試し、セルのコンテンツにroomNameを入れました。

ただし、jsonがjqGridに返されると、roomNameが含まれていると思われる列は空になります。x.Room.Nameの値を他の方法で表示するにはどうすればよいですか?

4

1 に答える 1

1

roomNameクライアントに対応する列があることを確認するために列の名前を変更したので、次のようになります。

$('#grid').jqGrid({
    colNames: [ 'roomName', 'Name', ..... other columns ],
    colModel: [
        { name: 'roomName', index: 'roomName' },
        { name: 'Name', index: 'Name' },
        .....
    ],
    ........
});
于 2012-05-24T06:38:53.290 に答える