Изменение ширины столбца GridView - PullRequest
0 голосов
/ 13 февраля 2009

Может кто-нибудь помочь мне с моей проблемой?

У меня есть сетка на веб-странице, источником данных которой является база данных оракула. Я хотел бы знать, можно ли изменить ширину столбца, пока вы находитесь на веб-странице?

string select = "SELECT * FROM TABLE"

OracleCommand cmd = new OracleCommand(select, connectionstring);
cmd.Connection.Open();

GridView.DataSource = cmd.ExecuteReader();
GridView.DataBind();

Выводит таблицу в виде сетки. Есть ли способ изменить свойства gridview в браузере? возможно какой-нибудь javascript?

Заранее спасибо,

Ответы [ 2 ]

1 голос
/ 09 августа 2012

Использовать этот код в событии привязки данных в строке вида сетки

e.Row.Cells [8] .Width = new Unit ("800px");

пожалуйста, убедитесь, что ваш размер сетки больше размера столбца.

1 голос
/ 13 февраля 2009

Вы можете указать эти атрибуты через стили в столбцах самого вида сетки. Можно установить для атрибута AutoGenerateColumns значение false, указать нужные столбцы и указать размеры в каждом столбце. Кроме того, следуя хорошим правилам веб-дизайна, вы можете использовать CSS для стилизации каждого столбца. Если вы хотите изменить его на лету, я бы предложил использовать ItemTemplates и добавить компоненты, которые вы можете изменить в поле.

Ex:

<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";

В любом случае, в мире ваша устрица, это только некоторые отправные точки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...