Этот метод похож на автоматический размер в том смысле, что ширина каждого столбца в DataGrid будет достаточно большой, чтобы отображать ваши данные без переноса.
Что вам нужно сделать, так это рассчитать правильную ширину для каждого столбца макета сетки на основе размера PX текста в описании столбца и данных для этого столбца. Это необходимо сделать перед созданием макета сетки.
Вот как вы получаете правильную ширину в px. Добавьте на свою страницу следующий HTML-код: css:
#test
{
position: absolute;
visibility: hidden;
height: auto;
width: auto;
}
<div id="test"></div>
1) Получите размер шрифта, используемый в вашем DataGrid
2) Получите объект div и установите размер шрифта в соответствии с тем, что используется в сетке.
<div id="test"></div>
var tst_item = window.document.getElementById("test");
tst_item.style.fontSize = grid_fnt_sz;
3) Поместите описание каждого столбца и элемент данных, предназначенный для вашего DataGrid, в скрытый div:
tst_item.innerHTML = "Your data";
var widthPX = (tst_item.clientWidth + 1); //Width of text in PX
Сохраните этот widthPX в массиве для каждого столбца, сохраняя только самое большое значение, найденное для столбца.
4) При создании макета для вашей сетки установите ширину столбца на наибольшую ширину из описания столбца и данных для этого столбца.
Этот метод гарантирует, что ширина каждого столбца будет достаточно большой, чтобы отображать ваши данные без переноса. В зависимости от ваших потребностей вы можете настроить логику, чтобы делать то, что вам нужно. Это может быть невозможно при больших объемах данных. Но это прекрасно работает для меня.
person
GoinOff
schedule
12.12.2012