簡體   English   中英

GridView列寬更改

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM