Как выровнять столбцы в нескольких GridViews - PullRequest
1 голос
/ 10 марта 2010

Как я могу получить несколько GridView на одной странице, чтобы они имели одинаковую ширину столбцов?

У меня есть четыре GridView с (по существу) одинаковыми столбцами в каждом. Они имеют уникальные заголовки и представляют данные из разных запросов. Я хочу максимизировать удобочитаемость, позволяя динамически изменять размер столбцов на основе данных, но я не хочу, чтобы каждый GridView делал это независимо. Наличие одноименных столбцов один над другим с разной шириной выглядит очень неряшливо. Вместо этого нужно, чтобы все четыре GridView выбирали одинаковый размер для столбца 1, одинаковый размер для столбца 2 и т. Д.

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

Может ли это быть достигнуто вообще в ASP.NET? Это слишком много, чтобы спросить, потому что динамическая ширина столбца зависит от браузера?

Спасибо

Ответы [ 2 ]

2 голосов
/ 11 марта 2010

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

Если вы используете asp: TemplateFields , asp: BoundFields и т. Д. Для формирования ваших полей, вы можете использовать ItemStyle-Width = "100px" для установить ширину каждой колонки

0 голосов
/ 11 марта 2010

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

В значительной степени. Если вы явно не установите ширину столбца, браузер выберет - поэтому ASP.NET не знает об этом. Вы могли бы, вероятно, использовать некоторые JQuery для компенсации, хотя:

$(function() {
   var maxWidth = 0;
   $('TBODY TR:first TD.col1').each(function() {
       maxWidth = $(this).width > maxWidth ? $(this).width : maxWidth;
   });

   $('TBODY TR:first TD.col1').width(maxWidth);
});
...