2013-02-03 2 views
3

Я новый разработчик ASP.NET, и я столкнулся с проблемой, связанной с стилем ListView. Стиль работает хорошо, но теперь я не могу видеть, последний столбец с правой стороны, и я не знаю, почему, как показано на этом снимке:Как изменить область/размер этого столбца в элементе управления ListView?

enter image description here

Вот мой исходный код:

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

Я изменил ширину второго столбца, который занимает большую часть площади в виде списка и посмотреть, что случилось, когда я изменил его

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

Не могли бы вы помочь мне с этой проблемой?

ответ

1

Привет, вы можете попробовать это.

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

listView1.Size = new Size(400, height); 
+0

Спасибо за вашу помощь, но где я должен поставить этот код? –

+0

в коде за файлом этого файла aspx –

1

Я подозреваю, что ваш вид списка находится внутри сНа, панели или какого-либо другое родительского элемента управления, который имеет фиксированную ширину, например, 600px и так как вы изменили ширину второго столбца остальных столбцы не имеют достаточно места для отображения, и я предполагаю, что на div не было переполнения.

У вас есть два варианта:

  1. Удалите свой ListView из этого родительского контроля, поэтому он может динамически изменять размеры в соответствии с требованиями
  2. Создание правила стиля CSS для DIV, чтобы показать полосу прокрутки, если переполнение контента за пределами фиксированной ширины:

CSS:

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

ASPX:

<div id="listViewParent"> 
    Your ListView goes here 
</div> 
+0

Спасибо за вашу помощь, но это не сработало со мной. –

+0

Можете ли вы запустить свой сайт в Internet Explorer, нажмите F12 скопируйте html и опубликуйте его в своем вопросе, я бы хотел посмотреть на него –

Смежные вопросы