Member 14803832 Ответов: 1

Как я могу создать HTML таблицу с двумя заголовками и данными из БД


Всем привет,

я хочу скомбинировать данные из БД в таблицу с двумя заголовками сверху и одним столбцом слева. с помощью Jquery я могу сделать это, но только с верхним заголовком, Может ли enybody объяснить мне, как я могу сделать это и на стороне lesft?

пример:

headerTop1/ headerTop2/ headerTop3
header1/ dbcontent / dbcontent / dbcntent
header2/ dbcontent / dbcontent / dbcntent
header3 / dbcontent / dbcontent / dbcntent

есть идеи?

Что я уже пробовал:

$.ajax({
       type: "GET",
       url: "/Home/JsonWeekEvents",
       dataType: "JSON",
       success: function (result) {
           $.each(result, function (i, val) {
               var trow = $('<tr/>').data("id", val.Id);
               //trow.append('<td>' + val.Id + " " + '</td>');
               trow.append('<div style="padding:5px; width:100px; height:70px"></div>');
               trow.append('<td style="padding:5px; width:100px; height:70px">' + val.Monday + '</td>');
               trow.append('<td style="padding:5px; width:100px; height:70px">' + val.Tuesday  + '</td>');
               trow.append('<td style="padding:5px; width:100px; height:70px">' + val.Wednesday  + '</td>');
               trow.append('<td style="padding:5px; width:100px; height:70px">' + val.Thursday  +'</td>');
               trow.append('<td style="padding:5px; width:100px; height:70px">' + val.Friday  +'</td>');
               trow.append('<td style="padding:5px; width:100px; height:70px">' + val.Saturday +'</td>');
               trow.append('<td style="padding:5px; width:100px; height:70px">' + val.Sunday + '</td>');
               trow.append('<td style="padding:5px; width:100px; height:70px">' + '<a href="#" rel="events-week-edit" data-toggle="modal" data-target="#editWeekCenter">Edit Week</a>' + '</td>');
               //trow.append('<td>' + '<a href="#" rel="event-edit-details" data-toggle="modal" data-target="#editModalCenter">edit</a>' + " " + "|" + " " + '</td>');
               //trow.append('<td>' + '<a href="#" rel="event-delete" data-toggle="modal" data-target="#exampleModalCenter">delete</a>' + " " + '</td>');
               tab.append(trow);
           });
           $("tr:odd", tab).css('background-color', '#C4C4C4');
           $("#weekEvents").html(tab);
       },
       error: function () {
           alert("Failed! Please try again.");
       }
   });
   var tab = $('<table class=MyTable border=1 ></table>');
   var thead = $('<thead></thead>');

   thead.append('<th style="padding:5px">FSE' + " " + '</th>');
   thead.append('<th style="padding:5px">Monday' + " " + '</th>');
   thead.append('<th style="padding:5px">Tuesday' + " " + '</th>');
   thead.append('<th style="padding:5px">Wednesday' + " " + '</th>');
   thead.append('<th style="padding:5px">Thursday' + " " + '</th>');
   thead.append('<th style="padding:5px">Friday' + " " + '</th>');
   thead.append('<th style="padding:5px">Saturday' + " " + '</th>');
   thead.append('<th style="padding:5px">Sunday' + " " + '</th>');
   tab.append(thead);

MadMyche

Это будет работать намного лучше, если вы покажете фактический код, который вы используете для таблицы

Member 14803832

Вот мой код:

$.Аякс({
типа: "вам",
url: "/Home/JsonWeekEvents",
тип данных: "JSON",
успех: функция (результат) {
$.each(результат, функция (i, val) {
ВАР Троу = $(").данных("идентификатор", вал.Идентификатор);
//Троу.добавить(" + вал.Идентификатор + "" + ");
trow.append(");
Троу.добавить(" + вал.Понедельник + ");
Троу.добавить(" + вал.Вторник + ");
Троу.добавить(" + вал.Среда + ");
Троу.добавить(" + вал.Четверг +'');
trow.append(" + val.Friday +");
trow.append(" + val.Saturday +");
Троу.добавить(" + вал.Воскресенье + '');
trow.append(" + 'Редактировать Неделю' + '');
//trow.append(" + 'редактировать' + " " + "|" + " " + '');
//trow.append(" + 'удалить' + " " + '');
вкладку.добавить(Троу);
});
$("tr:odd", tab).css('background-color', '#C4C4C4');
$("#weekEvents").html(вкладка);
},
функция ошибок () {
тревога("не удалось! Пожалуйста, попробуйте еще раз.");
}
});
var tab = $(");
var thead = $(");

thead.append('FSE' + "" + ");
потока.добавить ("понедельник"+ "" + ");
thead.append('Tuesday' + "" + ");
thead.append('Wednesday' + "" + ");
thead.append('Thursday' + "" + ");
потока.функции append('пятница' + "" + ");
потока.функции append('суббота' + "" + ");
потока.функции append('воскресенье' + "" + ");
вкладку.добавить(элементы thead);

где FSE, я#d хотел бы ввести фиксированный столбец с именами сервисных инженеров

1 Ответов

Рейтинг:
2

MadMyche

Если вы действительно создаете HTML-таблицу, то фактическое синтаксический элемент, который вы хотели бы использовать, будет <th>Header</th> Как вы это создадите, будет зависеть только от вас.

Одну вещь я все-таки заметил в твоем лице. схема таблица заключается в том, что у вас есть только 3 столбца; по 1 для каждого из заголовков. Это прекрасно, но если вы собираетесь добавить столбец для заголовков слева, вам нужно будет заполнить его ячейка в верхнем горизонтальном заголовке. TH или TD должны иметь содержимое; лучше всего для пустой ячейки использовать  

Полученный код для вашей ситуации будет похож на этот

<table>

<tr>
  <th>&nbsp;</th> <th>headerT1</th> <th>headerT2</th> <th>headerT3</th>
</tr><tr>
   <th>header1</th>    <td>dbcontent</td>  <td>dbcontent</td>  <td>dbcntent</td>
</tr><tr>
   <th>header2</th>    <td>dbcontent</td>  <td>dbcontent</td>  <td>dbcntent</td>
</tr><tr>
   <th>header3</th>    <td>dbcontent</td>  <td>dbcontent</td>  <td>dbcntent</td>
</tr>

</table>


Member 14803832

нет, это не то, что я ищу, это легко, но чтобы показать данные из БД на "dbcontent" местах, это то, о чем я говорю

MadMyche

Да, это легко... вы должны сравнить это с тем, что генерируется вашей рутиной AJAX

Member 14803832

Да, но если я добавлю новый th в каждый цикл, я получу одно и то же имя для каждой строки, но я хочу иметь разные имена для каждой строки...

MadMyche

Разве эти имена не приходят из вызова БД?

Member 14803832

нет, вот оно, я хочу жестко закодировать его в таблицу, создав ее, иначе мне нужно скопировать эти имена для каждого количества строк на странице...

Member 14803832

короче говоря у меня есть фиксированное количество рабочих и бесконечное количество недель для каждого рабочего и это должно повторяться каждый круг

MadMyche

Было бы гораздо проще вернуть их имена вместе с набором данных

Member 14803832

похоже, я просто надеялся, что смогу избежать этих повторов для каждого ciecle в DB

Member 14803832

у вас есть для этого пример?

MadMyche

У меня нет копии вашего приложения, но я бы начал смотреть на модель, на которую ссылается это действие: /Home/JsonWeekEvents