Im, используя Datatables в моем приложении C# MVC4. Одна из моих таблиц использует jeditable, чтобы позволить пользователю дважды щелкнуть любую ячейку в таблице, внести изменения в значение в этой ячейке, а затем щелкнуть мышью на вводе сохранения изменений в базе данных, которые остаются отраженными на экране.Выравнивание столбцов после редактирования
Проблема заключается в том, что после изменения значения выравнивание столбцов переходит в haywire, а данные столбца могут показывать до 4,5 или 6 столбцов справа от заголовка, к которому он относится.
Вот сценарий:
<script src="@Url.Content("~/Scripts/jquery.jeditable.js")"
type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.dataTables.editable.js")"
type="text/javascript"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
var oTable1 = $('#BodyTable').dataTable({
sScrollX: "100%",
sScrollY: "200px",
bFilter: false,
bScrollCollapse: true,
bPaginate: false,
bScrollInfinite: true,
bSort: false,
//iScrollLoadGap: 10,
oLanguage: {
sZeroRecords: "There are no records that match your search criterion"
}
}).makeEditable({ sUpdateURL: '@Url.Action("UpdateData", "Home")',});
ActionResult:
public string UpdateData(string id, string value, int? rowId, int? columnPosition, int? columnId, string columnName)
{
PViewModel H = new PViewModel();
H.UpdateSValue(Convert.ToInt32(rowId), columnName, value, id);
return value;
}
Как вы обновляете строку после редактирования данных? В DataTables встроены специальные методы для обновления базовых данных строки. См. 'FnUpdate'. Если вы вручную вставляете строки (или jeditable ... не знакомы с этим плагином), вы можете легко решить эту проблему – BLSully