Динамическое добавление/удаление столбцов дает мне горизонтальную прокруткуJquery

Программирование на jquery
Ответить
Anonymous
 Динамическое добавление/удаление столбцов дает мне горизонтальную прокрутку

Сообщение Anonymous »

При работе с JQXGRID в угловом формате я создавал флажок, который включал бы появление дополнительных столбцов. Я думал, что это было бы довольно простой вещью, когда сетка должна занять все доступное пространство.

Код: Выделить всё

///Globals:
//    dataColumns: []
//    dataAdapter: []
//    isToggled : boolean
//    dataFields: []

toggleFired(e){
this.isToggled = e.target.checked;
this.setColumns(this.columns);
this.setDataAdapter();
}
setColumns(columns){
let dColumns = []
let dataFields = []
if (this.isToggled){
//The reason i clone columns is to not augment the original column array.  If i removed this, subsequent taps will mention datafield reuse errors.
columns = columns.slice;
let iconColumn = new DataColumn();
iconColumn.width = "20px";
/// other properties set.
columns.unshift(iconColumn);
}
for( let col of columns){
let dColumn = {
width: col.width,
text: col.text || "",
cellsrenderer: null,
cellClassName: "col",
dataField: col.datafield
};
if (!dColumn.width) delete dColumn.width;
dColumns.push(dColumn);
}
this.dataFields = dataFields;
this.dataColumns = dColumns;
}
setDataAdapter(){
//This aspect is primarily used for the data rows.  It sets localdata, datatype, and datafields.
//After creating that object, it will update the dataAdapter Obj passed into jqxGrid.
}
< /code>
Итак, когда я переключаю это, он сделает именно то, что желательно.  Это создаст этот новый столбец.  Но кажется, что инъекция не изменяет размер других предметов правильно.  Блаба прокрутки выглядит так, как будто ее создание напрямую связано с созданным новым столбцом. />  Я думал, что при сбросе данных обработки данных это перерисовало бы столбцы, которые не определены, чтобы соответствовать как можно больше. />  markup: < /p>

Для справки: https://www.jqwidgets.com/angular-compo ... earch=grid
eDitmer : я не наносил, что, когда я не соответствует установке, а автоматически. Это означает, что событие слушается. Я пытался имитировать его с помощью аналогичных событий: $ (window) .trigger ("resize") Например, но безрезультатно. Где -то может быть базовая функция, я могу использовать.

Код: Выделить всё

this.grid.render()

[*]

Код: Выделить всё

this.grid.resize()
[*]

Код: Выделить всё

$(this.hostRef).trigger("resize")
[*]

Код: Выделить всё

$(this.grid).trigger("resize")
[*]

Код: Выделить всё

$(this.grid.host).trigger("resize")
[*]

Код: Выделить всё

$(window).trigger("resize")
все еще ничего.

Подробнее здесь: https://stackoverflow.com/questions/545 ... -scrollbar
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»