Значение по умолчанию в jTable для "опций" выпадающего?

Я работаю над простой сеткой в ​​ASP.NET, используя jTable (www.jTable.org). Это страница со списком "Резидентов", где есть поле под названием "FacilityFrom", заполненное из таблицы FACILITY в базе данных. В jTable "Residents" у меня есть поле, которое использует атрибут "options" и извлекает из таблицы SQL "Facility". Я просто хочу выпадающий список, где первое и значение по умолчанию - "(НЕТ)", когда вы собираетесь добавить новую запись.

Я сделал магию MSSQL и создал запись, представляющую значение по умолчанию (ее поле в базе данных буквально '(NONE)'. Затем при заполнении выпадающего меню я делаю

select FacilityID,Name from FACILITY where Name = '(NONE)'
UNION
select FacilityID,Name from FACILITY where Name <> '(NONE)'

Я понимаю, что это некрасиво (я поставил необходимые уникальные ограничения, чтобы сделать его герметичным), но запрос работает, как и ожидалось, и помещает опцию '(NONE)' в верхнюю часть; но по какой-то причине jTable самостоятельно выполняет магию сортировки и помещает ее внизу! Даже если я переверну вышеприведенные операторы выбора, все равно, это внизу? Даже если я поставлю точку останова в WebMethod под названием GetFacilityOptions - ясно, что результатом будет то, что я хочу, чтобы это было (NONE) всегда с индексом 0 в списке. Кажется, что-то в привязке jquery вносит изменения?

Во всяком случае, я нашел атрибут defaultValue в документации jTable и подумал, что это решит мою проблему, но все равно это никак не повлияет? HTML ниже:

                             FacilityFromID: {
                             title: 'Facility',
                             options: '/Residents.aspx/GetFacilityOptions',
                             defaultValue: '(NONE)'
                         },

Код позади:

        [WebMethod(EnableSession = true)]
        public static object GetFacilityOptions()
        {
            try
            {
                var facilities = BusinessObjects.DataAcesss.GetAllFacilities().Select(c => new { DisplayText = c.Name, Value = c.FacilityID });
                //BREAKPOINT SAYS '(NONE)' IS AT INDEX 0 HERE!!
                return new { Result = "OK", Options = facilities };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }

У кого-нибудь есть идеи / предложения? Спасибо!

1 ответ

,  min_id: {
 title: field name,
  options: the options function,
 defaultValue: $('#<% = ddlMin.ClientID %>').val() // where ddlMin.ClientID the value required
}
Другие вопросы по тегам