使用 datarowview 文本对齐 DropDownList 列表项中心
我已经在表和父控件中尝试了所有可以想象的 CSS,并且我正在 .NET 3.5 C# 中的 DataList 控件中使用 DataRowView 填充和格式化 DropDownList。但我一生都无法将下拉列表中的列表项目居中。看起来最简单的方法是使用我现在在页面后面使用的相同格式化程序...这里是代码。
相信我 Div 标签不适用于列表项.. CSS 也不起作用。
如何设置文本对齐:居中?
if (on == "True")
{
DropDownList dl1 = (DropDownList)e.Item.FindControl("ddlOn");
dl1.BackColor = System.Drawing.Color.LightGreen;
dl1.ForeColor = System.Drawing.Color.White;
dl1.Font.Bold = true;
ListItem li = dl1.Items.FindByValue("True");
if (li != null)
{
li.Selected = true;
}
}
这是DataList控件的ItemTemplate中的DropDownList。
<tr>
<td>
<asp:DropDownList ID="ddlOn" runat="server"
AutoPostBack="True" Width="100%" CssClass="cen3">
<asp:ListItem>True</asp:ListItem>
<asp:ListItem>False</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
I have tried all CSS imaginable in Table and paraent controls, and I am populating and formatting a DropDownList using DataRowView in a DataList Control in .NET 3.5 C#. But I can not for the life of me, CENTER the LIST ITEMS in the Drop Down List.. What would be easiest it seems is use the same formatting procedures I am now using in page behind... here is code.
Trust me Div tags do not work on the List Items.. nor does CSS.
How do I set text-align: Center ??
if (on == "True")
{
DropDownList dl1 = (DropDownList)e.Item.FindControl("ddlOn");
dl1.BackColor = System.Drawing.Color.LightGreen;
dl1.ForeColor = System.Drawing.Color.White;
dl1.Font.Bold = true;
ListItem li = dl1.Items.FindByValue("True");
if (li != null)
{
li.Selected = true;
}
}
Here is DropDownList in ItemTemplate of DataList Control.
<tr>
<td>
<asp:DropDownList ID="ddlOn" runat="server"
AutoPostBack="True" Width="100%" CssClass="cen3">
<asp:ListItem>True</asp:ListItem>
<asp:ListItem>False</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我假设您正在尝试将
DropDownList
控件居中到列的中心?如果是这样,您需要从
DropDownList
中删除Width="100%"
并将列text-align
设置为centered.
编辑:根据我的测试,IE(至少版本8)不支持在 select 或 options 标签上设置文本对齐方式。我已经能够通过直接在生成的 HTML 的 select 元素中设置它来使其在 Chrome 和 Firefox 上工作。同样的 HTML 在 IE 中没有任何作用。
我认为您可能会因为无法在 IE 中调整对齐方式而陷入困境。
编辑:在SO上找到了这个问题,得出了相同的结论:
.net dropdownlist对齐文本
I am assuming you are trying to center the
DropDownList
control to the center of the column?If so you need to remove
Width="100%"
from theDropDownList
and set the columnstext-align
tocentered
.EDIT: Based on what I have been able to test, IE (at least up to version 8) does not support setting the text alignment on the select or options tags. I have been able to get it work on Chrome and Firefox by setting it directly in the produced HTML's select element. The same HTML does nothing in IE.
I think you might be stuck without the ability to adjust the alignment in IE.
EDIT: Found this question on SO that comes to the same conclusion:
.net dropdownlist align text