Как указать количество столбцов для ListView для однострочного макета в VB

Поэтому я создал этот пользовательский элемент управления ListView в VB и указал свой источник данных. Макет, который я использовал, - это макет «одна строка», и пейджинг включен. Однако в результате получается ровно 10 столбцов (10 окон) для строки. Мне интересно, как я могу сделать столбец по умолчанию равным 5? Я проверил свойства, и, похоже, нет такого свойства, которое контролировало бы количество столбцов, с которых начинается строка.

Спасибо

Изменить: код для справки

<asp:ListView ID="ListView1" runat="server" DataSourceID="RssDataSource1">
        <ItemTemplate>
            <td runat="server" style="background-color:#DCDCDC;color: #000000;">
                title:
                <asp:Label ID="titleLabel" runat="server" Text='<%# Eval("title") %>' />
                <br />
                link:
                <asp:Label ID="linkLabel" runat="server" Text='<%# Eval("link") %>' />
                <br />
                description:
                <asp:Label ID="descriptionLabel" runat="server" 
                    Text='<%# Eval("description") %>' />
                <br />
                pubDate:
                <asp:Label ID="pubDateLabel" runat="server" Text='<%# Eval("pubDate") %>' />
                <br />
                category:
                <asp:Label ID="categoryLabel" runat="server" Text='<%# Eval("category") %>' />
                <br />
            </td>
        </ItemTemplate>
        <AlternatingItemTemplate>
            <td runat="server" style="background-color:#FFF8DC;">
                title:
                <asp:Label ID="titleLabel" runat="server" Text='<%# Eval("title") %>' />
                <br />
                link:
                <asp:Label ID="linkLabel" runat="server" Text='<%# Eval("link") %>' />
                <br />
                description:
                <asp:Label ID="descriptionLabel" runat="server" 
                    Text='<%# Eval("description") %>' />
                <br />
                pubDate:
                <asp:Label ID="pubDateLabel" runat="server" Text='<%# Eval("pubDate") %>' />
                <br />
                category:
                <asp:Label ID="categoryLabel" runat="server" Text='<%# Eval("category") %>' />
                <br />
            </td>
        </AlternatingItemTemplate>
        <EmptyDataTemplate>
            <table style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
                <tr>
                    <td>
                        No data was returned.</td>
                </tr>
            </table>
        </EmptyDataTemplate>
        <InsertItemTemplate>
            <td runat="server" style="">
                title:
                <asp:TextBox ID="titleTextBox" runat="server" Text='<%# Bind("title") %>' />
                <br />
                link:
                <asp:TextBox ID="linkTextBox" runat="server" Text='<%# Bind("link") %>' />
                <br />
                description:
                <asp:TextBox ID="descriptionTextBox" runat="server" 
                    Text='<%# Bind("description") %>' />
                <br />
                pubDate:
                <asp:TextBox ID="pubDateTextBox" runat="server" Text='<%# Bind("pubDate") %>' />
                <br />
                category:
                <asp:TextBox ID="categoryTextBox" runat="server" 
                    Text='<%# Bind("category") %>' />
                <br />
                <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
                    Text="Insert" />
                <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                    Text="Clear" />
            </td>
        </InsertItemTemplate>
        <LayoutTemplate>
            <table runat="server" border="1" 
                style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
                <tr ID="itemPlaceholderContainer" runat="server">
                    <td ID="itemPlaceholder" runat="server">
                    </td>
                </tr>
            </table>
            <div style="text-align: center;background-color: #CCCCCC;font-family: Verdana, Arial, Helvetica, sans-serif;color: #000000;">
                <asp:DataPager ID="DataPager1" runat="server">
                    <Fields>
                        <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" 
                            ShowNextPageButton="False" ShowPreviousPageButton="False" />
                        <asp:NumericPagerField />
                        <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" 
                            ShowNextPageButton="False" ShowPreviousPageButton="False" />
                    </Fields>
                </asp:DataPager>
            </div>
        </LayoutTemplate>
        <EditItemTemplate>
            <td runat="server" style="background-color:#008A8C;color: #FFFFFF;">
                title:
                <asp:TextBox ID="titleTextBox" runat="server" Text='<%# Bind("title") %>' />
                <br />
                link:
                <asp:TextBox ID="linkTextBox" runat="server" Text='<%# Bind("link") %>' />
                <br />
                description:
                <asp:TextBox ID="descriptionTextBox" runat="server" 
                    Text='<%# Bind("description") %>' />
                <br />
                pubDate:
                <asp:TextBox ID="pubDateTextBox" runat="server" Text='<%# Bind("pubDate") %>' />
                <br />
                category:
                <asp:TextBox ID="categoryTextBox" runat="server" 
                    Text='<%# Bind("category") %>' />
                <br />
                <asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
                    Text="Update" />
                <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                    Text="Cancel" />
            </td>
        </EditItemTemplate>
        <SelectedItemTemplate>
            <td runat="server" 
                style="background-color:#008A8C;font-weight: bold;color: #FFFFFF;">
                title:
                <asp:Label ID="titleLabel" runat="server" Text='<%# Eval("title") %>' />
                <br />
                link:
                <asp:Label ID="linkLabel" runat="server" Text='<%# Eval("link") %>' />
                <br />
                description:
                <asp:Label ID="descriptionLabel" runat="server" 
                    Text='<%# Eval("description") %>' />
                <br />
                pubDate:
                <asp:Label ID="pubDateLabel" runat="server" Text='<%# Eval("pubDate") %>' />
                <br />
                category:
                <asp:Label ID="categoryLabel" runat="server" Text='<%# Eval("category") %>' />
                <br />
            </td>
        </SelectedItemTemplate>
    </asp:ListView>

person eastboundr    schedule 17.02.2012    source источник
comment
Что вы получаете из своего источника данных? Возможно ли, что вы получите 10 значений? В этом случае, если вам нужны только 5 столбцов, а затем новая строка, вы можете сделать это в своем коде программной части.   -  person Maarten Kesselaers    schedule 17.02.2012
comment
Маартен, на самом деле записей 19. На самом деле я хочу сохранить одну строку, если пользователь хочет видеть дальше первых 5 записей, он может нажать кнопку «Далее» (которая включена в конфигурации ListView), чтобы скользить и просматривать остальные записи данных.   -  person eastboundr    schedule 17.02.2012


Ответы (2)


Можете ли вы опубликовать свой код? Вы пытаетесь отсортировать по столбцу 5 или сначала отобразить столбец 5?

Какой тип источника данных?

В любом случае, фильтрация будет в вашем коде.

Попробуйте здесь: http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.columns.aspx

(Вы всегда можете включить все столбцы и скрыть только те, которые вам не нужны: Кто-нибудь знает, как скрыть столбец в списке asp.net? )

Надеюсь, это поможет.

person RJ Cuthbertson    schedule 17.02.2012
comment
Привет, rjcup3, я добавил код, как вы могли видеть, я просто перетащил элемент управления ListView из панели инструментов. и указал источник как RssDataSource1, который на самом деле является RSS для календаря. Поэтому я хотел бы иметь только 5 окон (столбцов) для отображения первых 5 дней событий. Затем, если пользователь хочет просмотреть дату дальше, он может нажать «Далее», чтобы увидеть события в будущем. Так что да я только то, что посмотреть 5 за раз. Но по умолчанию ListView дает мне 10 столбцов. - person eastboundr; 17.02.2012
comment
Если вы все еще хотите, чтобы источник данных отображал следующие 5, когда вы нажимаете «Далее», скрытие/отображение, вероятно, лучше всего. Когда они нажмут «Далее», скройте первые 5, покажите второй набор. - person RJ Cuthbertson; 17.02.2012
comment
rjcup3, спасибо за быстрый ответ. На самом деле там 19 записей. Он показывает первые 10 записей в начале. Так как у меня включен пейджинг. когда я нажимаю «Далее» (или на странице 2), это дает мне следующие 9 записей. Так что я на самом деле все еще хочу использовать пейджинг, но вместо 10 записей на странице я хотел бы иметь 5 за раз. Общее количество записей может варьироваться, поскольку это RSS-канал календаря. Поэтому я не мог указать, сколько записей нужно скрыть с помощью жесткого кода... извините за путаницу. - person eastboundr; 17.02.2012
comment
почему бы специально не установить источник данных с помощью кода, я не знаю, находится ли источник в DataTable или в массиве, но вы можете выполнить итерацию. Dim iIndex as Integer = 0 для iIndex to iIndex + 5... СДЕЛАЙТЕ СЛЕДУЮЩЕЕ - person RJ Cuthbertson; 17.02.2012
comment
Если это xml (RSS), вы можете сделать то же самое с помощью итератора и просто выполнить синтаксический анализ в цикле for - person RJ Cuthbertson; 17.02.2012
comment
Спасибо, rjcup, попробую. - person eastboundr; 17.02.2012

Я обнаружил, что количество отображаемых записей по умолчанию можно указать в элементе управления пейджером:

asp:DataPager ID="DataPager1" runat="server" PageSize="5"

в сочетании со свойством GroupItemCount проблема решена. Спасибо всем за помощь в любом случае.

person eastboundr    schedule 22.02.2012