12

GridView をツールボックスから Aspx ページにドラッグ アンド ドロップしました。デザイン コードは次のようになります。

<asp:GridView ID="gridview1" runat="server"   style="text-align:center;width: 1327px;" 
    CellPadding="4" ForeColor="#333333" GridLines="None" AllowPaging="True" 
    EnableSortingAndPagingCallbacks="True" PageSize="50" AutoGenerateEditButton="True">
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <EditRowStyle BackColor="#999999" />
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" 
        Height="12px" VerticalAlign="Bottom" Width="12px" Wrap="False" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#E9E7E2" />
    <SortedAscendingHeaderStyle BackColor="#506C8C" />
    <SortedDescendingCellStyle BackColor="#FFFDF8" />
    <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>

データベースに Address という名前の列があります。テーブルは、次の VB.NET コードを使用してこのグリッド ビューにバインドされます。

 Dim ds as Data.DataSet
 Dim da As New OleDbDataAdapter("select col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,Address from table, con)
        da.Fill(ds)
        gridviewrealestate.DataSource = ds
        gridviewrealestate.DataBind()

ここで、グリッドビューが表示されると、住所列に大量の情報が存在するため、列が互いに非常に接近しています。住所列を特定の幅に設定したいと考えています。これを行う方法を教えてください。

4

8 に答える 8

13
<asp:GridView ID="GridView1" runat="server">
    <HeaderStyle Width="10%" />
    <RowStyle Width="10%" />
    <FooterStyle Width="10%" />
    <Columns>
        <asp:BoundField HeaderText="Name" DataField="LastName" 
            HeaderStyle-Width="10%" ItemStyle-Width="10%"
            FooterStyle-Width="10%" />
    </Columns>
</asp:GridView>
于 2012-06-07T09:57:08.677 に答える
1

これは私のために働いたものです。HeaderStyle-Width="5%" を設定し、フッターでテキストボックスの幅を Width="15" に設定し、グリッドビューの幅も 100% に設定します。以下は私のグリッドビューの列の1つです。

    <asp:TemplateField   HeaderText = "sub" HeaderStyle-ForeColor="White" HeaderStyle-Width="5%">
<ItemTemplate>
    <asp:Label ID="sub" runat="server" Font-Size="small" Text='<%# Eval("sub")%>'></asp:Label>
</ItemTemplate> 
 <EditItemTemplate>
    <asp:TextBox ID="txt_sub" runat="server" Text='<%# Eval("sub")%>'></asp:TextBox>
</EditItemTemplate> 
<FooterTemplate>
    <asp:TextBox ID="txt_sub" runat="server" Width="15"></asp:TextBox>
</FooterTemplate>

于 2016-04-12T07:25:36.147 に答える
0

列を「TemplateField」に変換する必要があります。

デザイナー ビューで、GridView のスマート タグをクリックし、[列の編集] を選択します。変更する列を選択し、ハイパーリンクを押してテンプレートに変換します。スクリーンショットを参照してください: Converting column to template .

注: データソースを変更すると列が再生成される可能性があるため、テンプレートの列が変更される可能性があります。

参照: https://msdn.microsoft.com/en-us/library/bb288032.aspx

于 2016-07-29T19:43:02.260 に答える