Размер текстового поля в таблице превышает 100% (только для IE) - PullRequest
1 голос
/ 06 августа 2009

У меня есть элемент управления GridView (который рендерится в table, tr, td) с некоторыми BoundFields и TemplateFields. По сути, я отображаю два столбца, Имя приложения и Примечания (как TextBox), и я хочу 35%, 65% относительной ширины. Вот моя разметка asp.net:

<asp:GridView ID="gridRequestedApps" DataSourceID="llbRequestedApplications" runat="server" 
    AutoGenerateColumns="False" 
    DataKeyNames="ComputerID, RequestID"  
    EnableViewState="False" 
    cssclass="xGridview">
    <Columns>
        <asp:BoundField DataField="ComputerID" HeaderText="ID" SortExpression="ComputerID" Visible="False" />
        <asp:BoundField DataField="RequestID" HeaderText="ID" SortExpression="RequestID" Visible="False" />
        <asp:TemplateField HeaderText="Application Name" ItemStyle-Width="35%" ItemStyle-Wrap="false">
            <ItemTemplate><asp:TextBox ID="ApplicationName" runat="server" Text='<%# Bind("ApplicationName") %>' CssClass="input_text"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Notes" ItemStyle-Width="65%">
            <ItemTemplate>
            <div style="width:100%; overflow:hidden">
            <asp:TextBox ID="UserNotes" runat="server" Text='<%# Bind("UserNotes") %>' CssClass="input_text" style="overflow:hidden"></asp:TextBox>
            </div>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Теперь в одной точке (с немного отличающимся html, чем показано выше) у меня действительно работала относительная ширина 35/65. Однако затем я заметил, что если поместить длинный текст в текстовое поле, он будет расти горизонтально, растягивая содержащую его таблицу на 100% ширины. (Это в IE7 .... в Firefox переполнение: показалось, что работает hidden).

Итак, я начал возиться с CSS, чтобы попытаться исправить ошибку в IE, но теперь он не только переполняется, но и ширина моих столбцов больше не соответствует настройкам 36/65.

Ответы [ 2 ]

2 голосов
/ 06 августа 2009

Перед jQuery попробуйте сначала. Я нашел это, прибегая к помощи "т.е. переполнение: скрытая ячейка таблицы".

Как предотвратить слишком широкое использование таблиц HTML

Использование Javascript для стилей, как правило, не очень хорошая идея, особенно если позже в жизни продукта появляется другой разработчик и хочет, скажем, добавить столбец. Согласитесь, иногда взламывая решение, вы чувствуете себя лучше в краткосрочной перспективе, но это может привести только к головным болям в будущем.

0 голосов
/ 13 октября 2009

просто решил себе эту проблему, и я просто упал ...

Изменить определение типа документа на

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

но учтите, что другие части страницы не начинают прыгать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...