2013-03-12 68 views
0

我有一個GridView如下,並希望使TextBoxes正確填充列。目前,設置Controlstyle-Width =「100%」不能按預期工作;有填充頂部,左側和底部,但忽略右側填充並擴展到列的邊緣。Gridview ItemTemplate ControlStyle-Width忽略右側填充

<asp:GridView ID="gvTimesheets" runat="server" AutoGenerateColumns="False" OnRowDataBound="gvTimesheet_RowDataBound" CellPadding="4" ForeColor="#333333" ShowHeaderWhenEmpty="True"> 
    <Columns> 
     <asp:TemplateField HeaderText="Position"> 
      <ItemTemplate> 
       <asp:DropDownList ID="ddlPositions" runat="server" Width="200/> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Description" HeaderStyle-Width="100%" ControlStyle-Width="100%"> 
      <ItemTemplate> 
       <asp:TextBox ID="txtDescription" runat="server" Enabled="true" Text='<%# Bind("Description") %>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

我之所以有描述HeaderStyle-Width設定爲100%,是因爲我希望它填補剩餘的空間,一旦控制完全填充,這似乎完全正常工作。

我嘗試過使用box-sizing,ControlStyle-Width,ItemStyle-Width但沒有任何東西似乎保留右側填充。有什麼建議麼?我寧願堅持使用.Net並避免jQuery等。

+0

刪除HeaderStyle-Width =「100%」ControlStyle-Width =「100%」,只需使用ItemStyle-Horizo​​ntalAlign =「Right」HeaderStyle-Horizo​​ntalAlign =「Right」...我認爲這會對你有所幫助.. – Rahul 2013-03-12 04:52:21

+0

HeaderStyle-Horizo​​ntalAlign =「Right」只是更改標題中的文本對齊方式。 ItemStyle-Horizo​​ntalAlign =「Right」移動與列右側對齊的文本框,但不填充列。如前所述,我希望HeaderStyle-Width爲100%,以便填充剩餘空間。我嘗試了ItemStyle-Horizo​​ntalAlign =「Right」以及ItemStyle-Width =「100%」,並嘗試切換到ControlStyle-Width =「100%」,但問題仍然存在...... – Trent 2013-03-12 06:31:58

回答

0

試試這個, 在ItemTemplate中使用帶有標籤的Width =「100%」屬性,然後根據需要設置對齊。