Хобрук: Ваш путь к мастерству в программировании

Как исправить ширину каждого столбца в GridView?

Как исправить ширину каждого столбца в GridView. Мой GridView продолжает расширяться вместе с данными в ячейке. Мне нужно, чтобы он переходил на новую строку, когда она достигает правой стороны ячейки. Это мой код в файле .aspx:

<asp:GridView ID="GridView1" runat="server" 
AutoGenerateColumns="False" DataKeyNames="Emp_ID" DataSourceID="LinqDataSource1"
AllowPaging="True"  AllowSorting="True" Width="900px" HorizontalAlign="Center" >                        
           <Columns>
               <asp:BoundField DataField="Emp_ID" HeaderText="ID" 
        InsertVisible="False" ReadOnly="True" SortExpression="Emp_ID"/>
               <asp:BoundField DataField="Emp_Username" 
        HeaderText="Username" SortExpression="Emp_Username" />
               <asp:BoundField DataField="Emp_Password" 
        HeaderText="Password" SortExpression="Emp_Password" />
               <asp:BoundField DataField="Emp_Name" 
        HeaderText="ชื่อพนักงาน" SortExpression="Emp_Name" />
               <asp:BoundField DataField="Emp_Address" 
        HeaderText="ที่อยู่" SortExpression="Emp_Address" />
               <asp:BoundField DataField="Emp_Tel" 
        HeaderText="เบอร์โทรศัพท์" SortExpression="Emp_Tel" />
               <asp:TemplateField HeaderText="รูปพนักงาน" SortExpression="Emp_Picture">
                    <EditItemTemplate>
                         <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Emp_Picture") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Image ID="Image2" runat="server" Height="70px" 
                                        ImageUrl='<%# Eval("Emp_Picture", "{0}") %>' Width="50px" />
                    </ItemTemplate>
              </asp:TemplateField>
              <asp:BoundField DataField="Status" HeaderText="สถานะ" 
        SortExpression="Status" />
              <asp:HyperLinkField DataNavigateUrlFields="Emp_ID" 
                                DataNavigateUrlFormatString="AdminUpdate.aspx?Emp_ID={0}" Text="Edit" />
              <asp:TemplateField>
                   <HeaderTemplate>
                       <asp:CheckBox ID="ChkSelectAll" runat="server" 
                AutoPostBack="True" oncheckedchanged="ChkSelectAll_CheckedChanged"  />
                   </HeaderTemplate>
                   <ItemTemplate>
                       <asp:CheckBox ID="Chk" runat="server" AutoPostBack="True" oncheckedchanged="Chk_CheckedChanged" />
                   </ItemTemplate>
               </asp:TemplateField>
           </Columns>
</asp:GridView>

Вот мой вид дизайна:

Имгур

Как вы можете видеть, первые 4 столбца не имеют проблем с этим до столбца 5. Он сохраняет расширение, потому что все GridView выходит за пределы страницы.

08.01.2014

Ответы:


1

Перенос выполняется по словам, чтобы ни одно отдельное слово не разбивалось на две строки.

Так что это не сработает, если ваши данные имеют длинную строку без пробела.

Проблема в том, что вы не можете вставлять пробелы самостоятельно, потому что это может изменить смысл данных.

При отображении в сетке we show only that long string which can be accommodated in column and then add "..." (only if string is more than what is showing) and then add a tooltip to show the full string. Таким образом, форматирование сетки не нарушается, и, если пользователь хочет, он может навести указатель мыши и увидеть всю строку.

надеюсь это поможет

08.01.2014
  • Я просто пытаюсь, и теперь это работает, поэтому я должен добавить больше места в слово. Большое спасибо !! 08.01.2014

  • 2

    Установите ширину элемента стиля для каждого столбца. Например.

    <asp:BoundField DataField="Emp_Address" 
        HeaderText="ที่อยู่" SortExpression="Emp_Address">
       <ItemStyle Width="200px" HorizontalAlign="Left" />
    </asp:BoundField>
    
    08.01.2014
  • Он будет расширяться по вертикали, но не по горизонтали. Потому что вы зафиксировали ширину. 08.01.2014
  • Щелкните стрелку вверх над нулем. 08.01.2014
  • У меня всего 12 повторений. Нужно 15 повторений. 08.01.2014

  • 3

    Попробуйте установить для свойства RowStyle-Wrap GridView значение True.

    08.01.2014

    4

    Вы можете использовать ItemStyle-Width для фиксации ширины столбца, но если вы вводите символы, которые не могут быть заключены в заданную ширину (как видно на вашем изображении), столбец будет расширяться в соответствии с входными данными, поэтому вы можете использовать свойство RowStyle-Wrap gridview

    <asp:GridView ID="grdVwtrial" runat="server" RowStyle-Wrap="true">
    
    08.01.2014

    5

    RowStyle-Wrap==true должен работать, я думаю. Дополнительные пояснения см. здесь: http://forums.asp.net/t/1263769.aspx

    08.01.2014
    Новые материалы

    Введение в контекст React
    В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

    Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
    Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

    Это оно
    Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

    7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
    Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

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

    C в C.R.U.D с использованием React-Redux
    Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

    5 обязательных элементов современного инструмента конвейера данных
    В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..