397 messaggi dal 09 maggio 2012
Ciao ragazzi,

avendo un oggetto XmlDocument (XML prodotti) è possibile collegarlo ad un controllo listView con XMLDataSource (o altro modo)? ho provato qualche soluzione ma senza risultati. Mi consigliate gentilmente una soluzione o mi linkate una guida/tutorial?

Grazie
897 messaggi dal 11 febbraio 2013
Questo?

https://www.youtube.com/watch?v=mnfpu-IQuxw

scusa
Modificato da jjchuck il 04 ottobre 2019 12:14 -
397 messaggi dal 09 maggio 2012
questo link non porta da nessuna parte :D
897 messaggi dal 11 febbraio 2013
ho aggiornato il link
mi pareva un esempio semplice
ciao
397 messaggi dal 09 maggio 2012
L'esempio del video però non risponde alla mia esigenza. Infatti ho specificato che ho un oggetto XMLDocument e non un file XML. Questo oggetto viene creato lato server dopo una chiamata ad un web service.
897 messaggi dal 11 febbraio 2013
https://www.youtube.com/watch?v=ZTK0r3VTEew

qui mostra come leggere i nodi

puoi crearti una entità che lo rappresenta e una collection che li memorizza e poi fai il binding
al datasource.

Spero di aver capito
Modificato da jjchuck il 04 ottobre 2019 13:01 -
397 messaggi dal 09 maggio 2012
questa è la soluzione che adotto già. Riesco a visualizzare nella pagina html il contenuto dell'oggetto XMLDocument ... quello che non riesco a fare e collegare tale oggetto ad un controllo listview mediante controllo XMLDataSource. il problema sostanzialmente è che l'XML ha 2600 prodotti quindi restituirli tutti insieme nella pagina non è buona cosa ... cosa potrei fare in questo caso? anche se realizzassi un pager comunque il server mi dovrà restituire 2600 prodotti che rallentano troppo il caricamento della pagina ...
897 messaggi dal 11 febbraio 2013
 protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack) BindListView();
        }

        private void BindListView()
        {
            ListView1.DataSource = GetProducts().ToList();
            ListView1.DataBind();
        }

        private IEnumerable<Product> GetProducts()
        {
            IEnumerable<Product> products = Enumerable.Range(1, 3000).Select(x => new Product { Name = $"A{x}", Price = x * 2 });
            return products;
        }

        protected void ListView1_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
        {
            DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
            BindListView();
        }

        class Product
        {
            public string Name { get; set; }
            public decimal Price { get; set; }
        }


<asp:ListView ID="ListView1" runat="server" ItemPlaceholderID="itemPlaceHolder1" GroupPlaceholderID="groupPlaceHolder1"
                OnPagePropertiesChanging="ListView1_PagePropertiesChanging">
                <LayoutTemplate>
                    <div class="container-fluid">
                        <div class="row">
                            <div class="col-6">Name</div>
                            <div class="col-6">Price</div>
                        </div>
                        <asp:PlaceHolder runat="server" ID="groupPlaceHolder1"></asp:PlaceHolder>
                    </div>
                </LayoutTemplate>
                <GroupTemplate>
                  <tr>
                    <asp:PlaceHolder runat="server" ID="itemPlaceHolder1"></asp:PlaceHolder>
                  </tr>
                </GroupTemplate>
                <ItemTemplate>
                    <div class="row">
                        <div class="col-6"><%# Eval("Name") %></div>
                        <div class="col-6"><%# Eval("Price") %></div>
                    </div>
                </ItemTemplate>
            </asp:ListView>
            <asp:DataPager ID="DataPager1" runat="server" PageSize="10" PagedControlID="ListView1">
                <Fields>
                    <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowLastPageButton="True" />
                </Fields>
            </asp:DataPager>

Forse ho fatto casino col layout... però pagina velocement
fammi sapere+
ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.