Javascript Jquery JTable从2个表加载
我在我的网站上使用Jquery JTable在网格视图中加载详细信息,让用户能够相应地修改、删除应用程序 我正在从2个表中成功加载数据,然后将它们显示在我的div中。现在用户希望根据自己的意愿修改记录 我想让用户从另一个表中获得的下拉列表中进行选择。这能做到吗 下面的代码:如您所见,我正在使用InnerJoin从多个表加载数据。例如,我想让用户选择其他类别或语言等Javascript Jquery JTable从2个表加载,javascript,php,jquery,jquery-jtable,Javascript,Php,Jquery,Jquery Jtable,我在我的网站上使用Jquery JTable在网格视图中加载详细信息,让用户能够相应地修改、删除应用程序 我正在从2个表中成功加载数据,然后将它们显示在我的div中。现在用户希望根据自己的意愿修改记录 我想让用户从另一个表中获得的下拉列表中进行选择。这能做到吗 下面的代码:如您所见,我正在使用InnerJoin从多个表加载数据。例如,我想让用户选择其他类别或语言等 $queryString = "SELECT `app_id`,`app_name`,`app_type`,`app_url`,`A
$queryString = "SELECT `app_id`,`app_name`,`app_type`,`app_url`,`AppAccepted`,`BenefitApp`, application_ageGroup.ageGroup,application_category.category, application_Country.country,application_Language.language FROM application INNER JOIN application_ageGroup ON application.ageGroup_id = application_ageGroup.ageGroup_id INNER JOIN application_category ON application.Category = application_category.category_id INNER JOIN application_Country ON application.country_id = application_Country.country_id INNER JOIN application_Language ON application.language_id = application_Language.language_id ORDER BY $jtSorting LIMIT $jtStartIndex,$jtPageSize";
关于,将“类别”列设为下拉列表,并将其与查询数据集绑定:
$('#Table').jtable({
paging: true,
pageSize: 200,
sorting: true,
defaultSorting: 'Category ASC',
selecting: false,
multiselect: false,
selectingCheckboxes: false,
actions: {
listAction: '/Application/GetData',
updateAction: '/Application/EditData'
},
fields: {
Category: {
title: 'Category',
width: '10%',
list: false,
sorting: true,
options: '/Application/GetCategories'
}
});
在控制器操作中,获取类别列表:
[HttpPost]
public JsonResult GetCategories()
{
try
{
DataTable dtCategories = new DataTable();
string query = "SELECT .....";
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
dtCategories.Load(command.ExecuteReader());
}
List<Store> categoryList = DatatableToGenericList(dtCategories);
var categories = categoryList.Select(category => new { DisplayText = category.Name , Value = category.Id }).OrderBy(s => s.DisplayText);
return Json(new { Result = "OK", Options = categories });
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message });
}
}
private static List<Store> DatatableToGenericList(DataTable table)
{
var categoryList = new List<Category>(table.Rows.Count);
foreach (DataRow row in table.Rows)
{
var values = row.ItemArray;
var store = new Category()
{
Id = values[0].ToString(),
Name = values[1].ToString()
};
categoryList.Add(store);
}
return categoryList;
}
希望这有帮助
public class Category
{
public string Id { get; set; }
[Required]
public string Name { get; set; }
}