“选项”下拉列表中jTable的默认值是多少?

时间:2012-06-27 21:38:53

标签: jquery asp.net sql-server jquery-jtable

我正在使用jTable(www.jTable.org)在ASP.NET中创建一个简单的网格。这是一个包含“居民”列表的页面,其中有一个名为“FacilityFrom”的字段,该字段填充在数据库中的FACILITY表中。在'Residents'jTable上我有一个字段,它使用'options'属性并从'Facility'SQL表中提取。我只想要一个下拉列表,其中第一个&当您添加新记录时,默认值为'(NONE)'。

我做了一些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绑定中的某些内容正在进行更改? / p>

无论如何,我在jTable文档中找到了defaultValue属性并认为它可以解决我的问题,但它仍然没有影响? 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 个答案:

答案 0 :(得分:1)

,  min_id: {
 title: field name,
  options: the options function,
 defaultValue: $('#<% = ddlMin.ClientID %>').val() // where ddlMin.ClientID the value required
}