我有一个如下所示的 GridView,并希望使文本框正确填充列。目前,设置 Controlstyle-Width="100%" 并不能按预期工作;顶部、左侧和底部都有内边距,但它忽略右侧内边距并扩展到列的边缘。
<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 等。
试试这个, 在 ItemTemplate 中使用带有标记的 Width="100%" 属性,然后根据需要根据您的要求设置对齐方式。