[英]GridView Column Width Altering
有人可以帮我解决我的问题吗?
我在网页中有一个gridview,其数据源是一个oracle数据库。 我想知道当您在网页上时是否可以更改列宽?
string select = "SELECT * FROM TABLE"
OracleCommand cmd = new OracleCommand(select, connectionstring);
cmd.Connection.Open();
GridView.DataSource = cmd.ExecuteReader();
GridView.DataBind();
这将在gridview中输出表格。 在浏览器中是否可以更改gridview属性? 也许一些JavaScript?
先感谢您,
在gridview的行数据绑定事件中使用此代码
e.Row.Cells [8] .Width = new Unit(“ 800px”);
请确保您的gridview大小必须大于列的大小。
您可以通过gridview本身列中的样式指定这些属性。 您可以将AutoGenerateColumns属性设置为false,并指定所需的列,并指定每列中的大小。 此外,遵循良好的Web设计实践,您可以使用CSS设置每一列的样式。 如果您想即时更改它,我建议您使用ItemTemplates,并添加可以在现场修改的组件。
例如:
<asp:GridView runat="server" AutoGenerateColumns="false" ID="Grid" DataSourceID='MyObjectDataSource' CssClass="grid_table">
<AlternatingRowStyle CssClass="even" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<div id="NameColumn" runat="server">Name Center</div>
</HeaderTemplate>
<ItemTemplate>
<%# Eval("LastName") %>, <%# Eval("FirstName") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div id="AgeColumn" runat="server">Age</div>
</HeaderTemplate>
<ItemTemplate>
<%# Eval("Age") %>
</ItemTemplate>
</asp:TemplateField>
<EmptyDataTemplate>There are no Users</EmptyDataTemplate>
</asp:GridView>
使用此代码,您可以访问列宽:
NameColumn.Width = 100;
AgeColumn.Width = 2;
但是,有许多方法可以完成此操作,包括直接获取列:
Grid.Columns[0].HeaderStyle.Width = 100;
Grid.Columns[0].ItemStyle.Width = 100;
Grid.Columns[1].HeaderStyle.Width = 2;
Grid.Columns[1].ItemStyle.Width = 2;
或再次使用CSS:
Grid.Columns[0].HeaderStyle.CssClass = "name_column_header";
Grid.Columns[0].ItemStyle.CssClass = "name_column_data";
Grid.Columns[1].HeaderStyle.CssClass = "age_column_header";
Grid.Columns[1].ItemStyle.Width = "age_column_data";
无论如何,全世界都是您的牡蛎,这些只是一些起点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.