3

私は新しい ASP.NET 開発者で、ListView のスタイルに関する厄介な問題に直面しています。スタイルはうまく機能していましたが、右側から最後の列を見ることができず、このスナップショットに示すように理由がわかりません:

ここに画像の説明を入力

これが私の元のコードです:

<asp:ListView ID="All_ListView" runat="server"  DataKeyNames="ID" DataSourceID="SqlDataSource1">
                        <LayoutTemplate>
                            <div ><table id="thetable" cellpadding="4px" cellspacing="1px" style="margin:0px 0px 0px 0px; border:2px solid #003366; font-size:13px; font-weight:bold;">
                                <thead>
                                    <tr style="background-color:#C6D7B5;">
                                        <%--<th style="border-right:2px solid white;border-bottom:2px solid #003366; ">LL No.</th>--%>
                                        <th style="border-bottom:2px solid #003366; ">
                                            <asp:CheckBox ID="CheckBox1" runat="server" CssClass="chkBoxPosition" OnCheckedChanged="CheckBoxHeader_All" AutoPostBack="true" />
                                        </th>    
                                        <th style="border-bottom:2px solid #003366; ">Title</th>
                                        <th style="border-bottom:2px solid #003366; ">Description</th>
                                        <th style="border-bottom:2px solid #003366; ">Type</th>
                                        <th style="border-bottom:2px solid #003366; ">Username</th>
                                        <th style="border-bottom:2px solid #003366; ">Name</th>
                                        <th style="border-bottom:2px solid #003366; ">Division</th>
                                        <th style="border-bottom:2px solid #003366; ">Submitted Date</th>
                                        <th style="border-bottom:2px solid #003366; ">Status</th>
                                    </tr>
                                </thead>
                                <tbody><tr id="itemPlaceholder" runat="server"></tr></tbody>
                            </table></div>
                        </LayoutTemplate>
                        <ItemTemplate>
                            <tr>
                                <td>
                                    <asp:CheckBox ID="CheckBox2" runat="server" />
                                    </td>
                                <td>
                                    <asp:Label runat="server" ID="lblTitle" Text='<%#Eval("Title") %>'></asp:Label>
                                    </td>
                                <td>
                                    <asp:Label runat="server" ID="lblDescription" Text='<%#Eval("Description")%>'></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblType" Text='<%#Eval("Type")%>'></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblUsername" Text='<%#Eval("Username") %>'></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblName" Text='<%#Eval("Name") %>'></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblDivision" Text='<%#Eval("DivisionShortcut") %>'></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblSubmittedDate" Text='<%#Eval("DateSubmitted")%>'></asp:Label>
                                </td>
                                <td>
                                    <asp:LinkButton runat="server" ID="lnkSuggestionStatus" Text='<%#Eval("Status")%>'
                                                            OnClick="lnkSuggestionStatus_Click">
                                    </asp:LinkButton>
                                </td>
                            </tr>
                        </ItemTemplate>                
                </asp:ListView>

リスト ビューのほとんどの領域を占める 2 番目の列の幅を変更し、変更するとどうなるかを確認しました

<asp:ListView ID="All_ListView" runat="server"  DataKeyNames="ID" DataSourceID="SqlDataSource1">
                        <LayoutTemplate>
                            <div ><table id="thetable" cellpadding="4px" cellspacing="1px" style="margin:0px 0px 0px 0px; border:2px solid #003366; font-size:13px; font-weight:bold;">
                                <thead>
                                    <tr style="background-color:#C6D7B5;">
                                        <%--<th style="border-right:2px solid white;border-bottom:2px solid #003366; ">LL No.</th>--%>
                                        <th style="border-bottom:2px solid #003366; ">
                                            <asp:CheckBox ID="CheckBox1" runat="server" CssClass="chkBoxPosition" OnCheckedChanged="CheckBoxHeader_All" AutoPostBack="true" />
                                        </th>    
                                        <th style="border-bottom:2px solid #003366; ">Title</th>
                                        <th style="border-bottom:2px solid #003366; ">Description</th>
                                        <th style="border-bottom:2px solid #003366; ">Type</th>
                                        <th style="border-bottom:2px solid #003366; ">Username</th>
                                        <th style="border-bottom:2px solid #003366; ">Name</th>
                                        <th style="border-bottom:2px solid #003366; ">Division</th>
                                        <th style="border-bottom:2px solid #003366; ">Submitted Date</th>
                                        <th style="border-bottom:2px solid #003366; ">Status</th>
                                    </tr>
                                </thead>
                                <tbody><tr id="itemPlaceholder" runat="server"></tr></tbody>
                            </table></div>
                        </LayoutTemplate>
                        <ItemTemplate>
                            <tr>
                                <td>
                                    <asp:CheckBox ID="CheckBox2" runat="server" />
                                    </td>
                                <td>
                                    <asp:Label runat="server" ID="lblTitle" Text='<%#Eval("Title") %>'></asp:Label>
                                    </td>
                                <td>
                                    <asp:Label runat="server" ID="lblDescription" Text='<%#Eval("Description")%>' Width="50%"></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblType" Text='<%#Eval("Type")%>'></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblUsername" Text='<%#Eval("Username") %>'></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblName" Text='<%#Eval("Name") %>'></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblDivision" Text='<%#Eval("DivisionShortcut") %>'></asp:Label>
                                </td>
                                <td>
                                    <asp:Label runat="server" ID="lblSubmittedDate" Text='<%#Eval("DateSubmitted")%>'></asp:Label>
                                </td>
                                <td>
                                    <asp:LinkButton runat="server" ID="lnkSuggestionStatus" Text='<%#Eval("Status")%>'
                                                            OnClick="lnkSuggestionStatus_Click">
                                    </asp:LinkButton>
                                </td>
                            </tr>
                        </ItemTemplate>                
                </asp:ListView>

この表示の問題について教えてください。

4

2 に答える 2

1

あなたのリスト ビューは div、パネル、または 600px などの固定幅を持つその他の親コントロール内にあり、2 番目の列の幅を変更したため、他の列には表示するのに十分なスペースがなく、私はdiv にオーバーフローが設定されていないと推測しています。

次の 2 つのオプションがあります。

  1. この親コントロールから ListView を削除して、必要に応じて動的にサイズ変更できるようにします
  2. コンテンツが固定幅を超えてオーバーフローした場合にスクロール バーを表示する div の CSS スタイル ルールを作成します。

CSS:

#listViewParent
 {
   width:600px;
   float:left;
   overflow:auto;
 }

ASPX:

<div id="listViewParent">
  Your ListView goes here
</div>
于 2013-02-03T09:45:49.697 に答える
1

こんにちは、これを試すことができます。

int height = listView1.Items[0].Bounds.Height + listView1.Items[listView1.Items.Count - 1].Bounds.Bottom;

listView1.Size = new Size(400, height);
于 2013-02-03T06:45:53.730 に答える