Выровнять флажки в списке флажков

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

CheckBoxList

Как вы можете видеть на картинке, у меня есть 2 проблемы:

  1. "Италия" не соответствует "Германии"
  2. Страны перечислены в 2 столбцах, хотя есть место для последних двух флажков ниже. Я хочу, чтобы они были в 2 столбцах, если и только если есть переполнение.

Это мой код:

    <div style="width: 94.1%; height: 120px; overflow-y: scroll;background-
    color:#928571;border:groove;">
   <asp:CheckBoxList ID="CBListLang" runat="server"
     RepeatDirection="Vertical" RepeatColumns="2" RepeatLayout="Flow"
     OnSelectedIndexChanged="CBListLang_SelectedIndexChanged" AutoPostBack="true">
   </asp:CheckBoxList>
</div>

Спасибо

2 ответа

Решение

Измените RepeatLayout на "Таблица"

@ Старк прав. Если вы установите RepeatLayout с Flow, это вызывает CheckBoxList управление для вывода <span> элемент для флажков с <br> элементы, тем самым размещая флажки в строках. В этом случае, если все ваши данные не имеют одинаковый размер, флажки не будут выровнены по вертикали. Теперь, если вы установите RepeatLayout приписывать Table, это вызывает CheckBoxList контроль для вывода таблицы HTML, которая содержит флажки. С помощью Table гарантирует, что флажки выровнены по вертикали.

 <asp:CheckBoxList ... RepeatLayout="Table" > </asp:CheckBoxList>

Если вы хотите установить все флажки в одном столбце, удалите RepeatColumns="2" атрибут, который используется для установки количества столбцов, в которых должны отображаться флажки

Другие вопросы по тегам