[英]Vertically align TextBox to the center of the GridView row
我有一个GridView,在其中有几个字段,下面是代码:
<asp:GridView ID="GW" runat="server" AutoGenerateColumns="False" CellPadding="0" ForeColor="#333333" GridLines="None" Width="100%" OnRowDataBound="GW_RowDataBound">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:BoundField DataField="df1" HeaderText="" HeaderStyle-HorizontalAlign="Center" DataFormatString="{0:d}" HeaderStyle-CssClass="hideGridColumn" ItemStyle-CssClass="hideGridColumn">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:BoundField DataField="df2" HeaderText="" HeaderStyle-HorizontalAlign="Center" DataFormatString="{0:d}" HeaderStyle-CssClass="hideGridColumn" ItemStyle-CssClass="hideGridColumn">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:BoundField DataField="df3" HeaderText="Activity" HeaderStyle-HorizontalAlign="Center" DataFormatString="{0:d}">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:RadioButtonList ID="BlOption" RepeatDirection="Horizontal" OnSelectedIndexChanged="Rating_SelectedIndexChanged" AutoPostBack="true" runat="server" Width="50px" HeaderText="" RepeatLayout="Table">
<asp:ListItem Value="0">0</asp:ListItem>
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
<asp:ListItem Value="5">5</asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Comment" ItemStyle-VerticalAlign="Bottom">
<ItemTemplate>
<asp:TextBox ID="tbComment" runat="server" AutoPostBack="true" OnTextChanged="Comment_SelectedIndexChanged" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
问题是TextBox tbComment,它被粘贴到行的顶部。 我尝试将ItemStyle-VerticalAlign属性设置为Middle或Bottom ,但TextBox停留在行的顶部。
您能告诉我我做错了吗? 谢谢!
以这种方式尝试:
<asp:TemplateField HeaderText="Comment" >
<ItemTemplate>
<asp:TextBox ID="tbComment" runat="server" AutoPostBack="true" OnTextChanged="Comment_SelectedIndexChanged" ></asp:TextBox>
</ItemTemplate>
<ItemStyle VerticalAlign="Bottom" />
</asp:TemplateField>
并检查页面中是否有一个可以与表格样式进行交互的css文件。 尝试将其删除。
我有一个类似的问题,但是当我将itemstyle设置为如下时
<ItemStyle VerticalAlign="Bottom" />
我解决了
您可以这样定义垂直对齐的样式
.mystyle
{vertical-align:bottom;}
并在需要时以这种方式使用
<asp:TemplateField HeaderText="Comment" >
<ItemTemplate>
<asp:TextBox ID="tbComment" runat="server" AutoPostBack="true" OnTextChanged="Comment_SelectedIndexChanged" ></asp:TextBox>
</ItemTemplate>
<ItemStyle CssClass="mystyle" />
</asp:TemplateField>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.