2014-12-11 2 views
0

Я использую Jquery-JTable на своем веб-сайте для загрузки деталей в виде сетки и для того, чтобы пользователь мог изменять, удалять приложение соответственно.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"; 

С уважением,

ответ

0

сделать столбец Категория в качестве выпадающего списка и связать его с набором данных запроса:

$('#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; } 
} 

Надеется, что это помогает ..

Смежные вопросы