Как да укажете броя на колоните за 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 listview? )

Надявам се това да помогне.

person RJ Cuthbertson    schedule 17.02.2012
comment
Здравейте rjcup3, добавих кода, както можете да видите, просто плъзнах и пуснах контролата ListView от кутията с инструменти. и посочи източника да бъде RssDataSource1, който всъщност е RSS за календар. Така че бих искал да имам само 5 прозореца (колони) за показване на първите 5 дни от събития. След това, ако потребителят иска да погледне по-надолу в датата, може да натисне Next, за да види събитията в бъдещето. Така че да, виждам само 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 или масив, но можете да повторите и през двата. Затъмнете iIndex като цяло число = 0 за iIndex до 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="сървър" PageSize="5"

комбинирано със свойството GroupItemCount, проблемът е решен. Благодаря на всички за помощта все пак.

person eastboundr    schedule 22.02.2012