我正在使用jTable(www.jTable.org)在ASP.NET中使用簡單的網格。這是一個包含'居民'列表的頁面,其中有一個名爲'FacilityFrom'的字段從數據庫中的FACILITY表填充。在'居民'jTable中,我有一個使用'選項'屬性並從'Facility'SQL表中拉取的字段。我只想要一個下拉列表,其中第一個&默認值是'(NONE)',當你去添加一條新記錄時。默認值在jTable'選項'下拉?
我做了一些MSSQL魔術和創建代表默認值的記錄(該領域在數據庫中是字面上「(無)」。填充下降然後當下來,我做
select FacilityID,Name from FACILITY where Name = '(NONE)'
UNION
select FacilityID,Name from FACILITY where Name <> '(NONE)'
我意識到它的醜陋(我將必要的唯一約束條件設置爲不透氣),但查詢按預期工作,並將'(NONE)'選項放在頂部;但無論出於何種原因,jTable都會自行進行排序,把它放在底部!即使我將上面的select語句顛倒過來,它仍然在底部?即使我在WebMethod中放置了一個叫做GetFacilityOptions的斷點 - 很明顯,結果就是我想要的結果 - (NONE)總是在列表中的索引0處t似乎在jQuery的約束力正在做出改變?
無論如何,我發現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 };
}
}
任何人有任何意見/建議嗎?非常感謝!