2009-08-06 92 views
1

我有一個GridView控件(呈現給table,tr,td)帶有一些BoundFields和TemplateFields。本質上,我顯示了兩列,即應用程序名稱和註釋(作爲文本框),並且我想要35%,65%的相對寬度。這裏是我的asp.net標記:表格內的文本框增長超過100%寬度(僅IE)

<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中,溢出:隱藏似乎工作)。因此,我開始搞亂CSS以嘗試修復IE中的錯誤,但現在,它不僅仍然溢出,而且我的列寬不再遵守36/65設置。

回答

2

在jQuery之前,先試試這個。我通過Google搜索「ie overflow:hidden table cell」找到了它。

How to prevent HTML tables from becoming too wide

使用JavaScript的方式通常不是個好主意,尤其是如果稍後在產品生命另一開發商走來,想,說,添加一列。同意,有時在一起攻擊一個解決方案在短期內感覺更好,但它只會導致未來頭痛。

+0

非常感謝您的鏈接... table-layout:固然似乎已經做了些什麼...所以現在似乎大部分的文本框本身是隱藏的,而不是隱藏包含的文本本身最初進入時的行爲)......所以看起來這可能是在正確的道路上邁出的第一步。我仍然想調查蠻力的方式,因爲它看起來更不安全,儘管不推薦。 :) – tbone 2009-08-06 19:50:05

+0

所以它似乎修復了溢出問題,但列寬仍然不起作用。上帝我愛CSS! – tbone 2009-08-06 20:00:34

+0

這個頁面是否可以在任何我可以混淆的地方生存?即使是HTML而不是直播網站的快照也沒問題。 – Matchu 2009-08-06 20:05:34

0

恰恰解決了自己這個問題,我只是下跌...

更改文檔類型定義

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

,但關心的頁面的其他部分不啓動跳來跳去。

相關問題