2011-07-08 59 views
1

我有一個從遠程數據庫導入數據的gridview,這是工作正常。數據填充,我可以很容易地操縱它。這些列的間距似乎存在問題。它們沒有給所有文本留出足夠的空間以適應每個單元格的一行(列的寬度似乎停止在某個點,而每個列的寬度都不相同)。這也具有在每個單元中增加大量額外空間的效果,其中文本僅佔用一行。asp.net c# - gridview的行和列沒有與文本排隊

當我點擊編輯按鈕時,所有自動調整大小的作品絕對完美,文本全部排成一列,沒有強制換行符。一旦我點擊'取消'並返回到標準網格視圖顯示(即'編輯'未點擊),尺寸/空間問題就會回來。

這裏是我的代碼:

<asp:SqlDataSource ID="coverAllDataSource" runat="server" 
       ConnectionString="Data Source=blah; Initial Catalog=blah; User Id=blah;    Password=blah" 
       SelectCommand="SELECT * FROM blah" 
       /> 
       Search by -&nbsp; 
       <asp:DropDownList ID="ddlCoverAll" runat="server" Width="148px"> 
       </asp:DropDownList> 
       <br /><br /> 
       <div style="overflow:auto;max-width:650px; max-height: 400px; border: 1px solid black"> 
        <asp:GridView ID="coverAllGV" DataSourceID="coverAllDataSource" runat="server" 
         BorderStyle="None" AllowSorting="True" 
         AutoGenerateEditButton="True" CellPadding="0" DataMember="DefaultView" 
         ShowFooter="True"> 
         <AlternatingRowStyle BackColor="#FF9900" /> 
         <EditRowStyle Wrap="False" /> 
        </asp:GridView> 
       </div> 

所以我不完全知道爲什麼發生這種情況,這是我的理解是,GridView控件會自動調整大小列的寬度以適應特定的列文的最大機構,但這似乎沒有正常工作。爲了讓事情更加令人困惑,有時候自動調整大小會根據列標題設置其寬度,但有時候會根據其中文本數量最多的單元格來設置其寬度。

這樣一個簡單的事情,堅持下去,唉,我無法解決這個問題,我花了太多的時間試圖(試圖在沒有div的空頁面上構建gridview或從外部css文件操作等)....這可能太簡單了。

無論如何,如果有人能引導我在儀式方向,它將相當讚賞。

在此先感謝!

回答

2

都排隊在一個小區內,沒有強制換行

如果你只是想文本停止包裝可以用一些CSS實現這一目標。給你的GridView類名像CssClass="gridview",然後添加CSS規則,樣式表,是這樣的:

.gridview td { white-space : nowrap; } 

這將告訴該表不換任何文本在表格單元格。如果您仍然遇到問題,請嘗試從包裝div中刪除max-width或減小文本大小。

如果您希望能夠手動設置每列的寬度,將AutoGenerateColumns設置爲false並添加指定寬度的列(可以使用GUI或在aspx頁面上手動執行此操作)。

+0

感謝您的幫助!我實際上只是通過gridview gui屬性編輯器提供的一些屬性來解決這個問題。我將嘗試實施一些選項並查看它的工作原理。 – zillaofthegods