首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从2个表中加载Jquery JTable

从2个表中加载Jquery JTable
EN

Stack Overflow用户
提问于 2014-12-11 23:58:25
回答 1查看 741关注 0票数 0

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

我正在成功地从2个表中加载数据,然后将它们显示在我的div中。现在,用户想要根据他/她的意愿修改记录。

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

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

代码语言:javascript
复制
$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";

致以敬意,

EN

回答 1

Stack Overflow用户

发布于 2014-12-24 05:46:35

将Category列设置为dropdown,并将其与查询数据集绑定:

代码语言:javascript
复制
$('#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'
            }
        });

在您的控制器操作中,获取类别列表:

代码语言:javascript
复制
    [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;
    }

类别模型

代码语言:javascript
复制
public class Category
{
    public string Id { get; set; }

    [Required]
    public string Name { get; set; }
}

希望这能帮上忙..

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27427108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档