Javascript Jquery JTable从2个表加载

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

我在我的网站上使用Jquery JTable在网格视图中加载详细信息,让用户能够相应地修改、删除应用程序

我正在从2个表中成功加载数据,然后将它们显示在我的div中。现在用户希望根据自己的意愿修改记录

我想让用户从另一个表中获得的下拉列表中进行选择。这能做到吗

下面的代码:如您所见,我正在使用InnerJoin从多个表加载数据。例如,我想让用户选择其他类别或语言等

$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; }
}