2016-08-03 2 views
0

У меня есть вопрос относительно использования выпадающего списка в jqGrid. В моей среде я использую лицензию jqGrid 4.4.4 - jQuery Grid (версия 4.4.4) с MVC 5.Динамические столбцы и использование выпадающего списка в jqGrid

В моем коде ниже я динамически создаю и ColModel с моего контроллера. Все работает, за исключением столбца, который я хотел бы отображать значения для выпадающего списка. Прямо сейчас выпадающий список пуст. Почему он пуст?

Также, как должны значения, например. {value:{'FE':'FedEx';'IN':'InTime';'TN':'TNT';'AR':'ARAMEX'}}, загружаться динамически из метода в контроллере?

model.CreateMeeting = false; 
SecondOpinionFacade = new SecondOpinionFacade(); 
var meeting = SecondOpinionFacade.GetMeeting(id); 
model.MeetingDay = meeting.StartDate.Date; 
model.MeetingdID = meeting.SecondOpinionMeetingId; 
model.FromTime = meeting.StartDate.ToString("HH:mm"); 
model.ToTime = meeting.EndDate.ToString("HH:mm"); 
model.NrofGroups = meeting.SecondOpinionGroup.Count; 

var list = new[] { new { name = "SecondOpionUserId", index = "SecondOpionUserId", sorttype = "string", sortable=false, hidden = true, editable = true, edittype = "", editoptions= "", formatter = ""} }.ToList(); 

Здесь я пытаюсь поместить данные в списке, но это, кажется, не работает, так как раскрывающийся отображается пустым.

list.Add(new { name = "Deltagare", index = "Deltagare", sorttype = "string", sortable = true, hidden = false, editable = true, edittype = "select", editoptions = "{value:{'FE':'FedEx';'IN':'InTime';'TN':'TNT';'AR':'ARAMEX'}}", formatter = "select" }); 
int counter = 1; 
meeting.SecondOpinionGroup.OrderBy(x=> x.SecondOpinionGroupId).ForEach(x => 
{ 
    list.Add(new {name = x.SecondOpinionGroupId.ToString(), index = "Grupp" + counter, sorttype = "string", sortable = false, hidden = false, editable = true, edittype = "checkbox", editoptions = "{ value: 'True:False' }", formatter = "checkbox" }); 
    counter++; 
}); 

var list2 = new[] { "SecondOpionUserId" }.ToList(); 
list2.Add("Deltagare"); 
for (int i = 1; i <=model.NrofGroups; i++) 
{ 
    list2.Add("Grupp"+i); 
} 

model.ColNames = JsonConvert.SerializeObject(list2); 
model.ColModel = JsonConvert.SerializeObject(list); 
return View(model); 

ответ

1

используется строку в качестве значения editoption. Это не правильно. Значение editoptions должно быть объект. Попробуйте заменить

editoptions = "{ value: 'True:False' }" 

и

editoptions = "{value:{'FE':'FedEx';'IN':'InTime';'TN':'TNT';'AR':'ARAMEX'}}" 

в

editoptions = new { value = "True:False" } 

и

editoptions = new { value = "FE:FedEx;IN:InTime;TN:TNT;AR:ARAMEX" } 
+0

Спасибо! Это решило проблему, одна незначительная проблема возникла, когда я изменил editoptions из строки в объект. Я должен был установить все другие редактирование в списке для объекта, иначе я получаю ошибку компиляции. Но я просто установил их для editoptions = new {value = ""} – user3197410

Смежные вопросы