Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Tạo 2 listview lồng nhau như thế nào trong ASP.NET?

  1. #1
    Ngày gia nhập
    06 2009
    Bài viết
    20

    Mặc định Tạo 2 listview lồng nhau như thế nào trong ASP.NET?

    Mình làm 1 cái menu với 2 list view lồng nhau nhưng chỉ có listview category là lấy được dữ liệu con listview product o hiện dữ liệu được anh em giúp với .Thanks
    Code:
    <asp:ListView ID="lvCat" runat="server" DataSourceID="ODSCat" DataKeyNames="CatID">
           <LayoutTemplate>
               <ul class="menu" id="itemPlaceholderContainer" runat="server">
                   <li id="itemPlaceholder" runat="server"></li>
               </ul>
           </LayoutTemplate>
           <EmptyDataTemplate>
           </EmptyDataTemplate>
           <ItemTemplate>
               <li>
                   <a href='<%# "LoaiSanPham.aspx?Cat="+ Eval("CatID") %>'>
                       <%# Eval("CatName")%></a>
                   <asp:ListView ID="lvPro" runat="server" DataSourceID="ODSPro" DataKeyNames="ProId">
                       <LayoutTemplate>
                           <ul class="acitem" id="itemPlaceholderContainer" runat="server">
                               <li id="itemPlaceholder" runat="server"></li>
                           </ul>
                       </LayoutTemplate>
                       <EmptyDataTemplate>
                       </EmptyDataTemplate>
                       <ItemTemplate>
                           <li><a href='<%# "SanPham.aspx?Pro="+ Eval("ProId") %>'>
                               <%# Eval("ProName")%></a> </li>
                       </ItemTemplate>
                   </asp:ListView>
               </li>
           </ItemTemplate>
       </asp:ListView>
    Code:
     <asp:ObjectDataSource ID="ODSCat" runat="server" 
           SelectMethod="getCategoryByMenu" TypeName="LoXoLibrary.TableCategory"></asp:ObjectDataSource>
       <asp:ObjectDataSource ID="ODSPro" runat="server" 
           SelectMethod="getProductByMenu" TypeName="LoXoLibrary.TableProduct">
           <SelectParameters>
               <asp:ControlParameter ControlID="lvCat" Name="CatID" 
                   PropertyName="SelectedValue" Type="Int32" />
           </SelectParameters>
       </asp:ObjectDataSource>
    2 cai proc lay du liệu
    Code:
    Create proc [dbo].[getCategoryByMenu]
    as
    begin 
    	select CatID,CatName from Category
    end
    
    Create proc [dbo].[getProductByMenu]
    @CatID int
    as
    begin 
    	select ProId,ProName from Product where CatId = @CatID
    end

  2. #2
    Ngày gia nhập
    06 2009
    Bài viết
    54

    nếu gán datasource từ code behind thì làm kiểu này, còn gán datasource tự động thì heo mình nghĩ là k đc:

    đây là ví dụ của mình, sử dụng repeate để bind 1 loạt các category, bên trong category đó sẽ có dropdownlist để bìn các nhãn hiệu.

    Code:
    protected void RPTListSubCategory_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
                {
                    Label lblID = (Label)e.Item.FindControl("lblSubCategoryID");
                    var item = productVM.getBrandToIndex(Convert.ToInt32(lblID.Text), 99);
    
                    DropDownList drd = (DropDownList)e.Item.FindControl("DDLBrand");
                    if (item != null && item.Count() > 0)
                    {
                        drd.DataSource = item;
                        drd.DataTextField = "Name";
                        drd.DataValueField = "Name";
                        drd.DataMember = lblID.Text;
                        drd.DataBind();
                    }
                    else
                        drd.Visible = false;
                }
            }

  3. #3
    Ngày gia nhập
    06 2009
    Bài viết
    20

    Trích dẫn Nguyên bản được gửi bởi astrologic Xem bài viết
    nếu gán datasource từ code behind thì làm kiểu này, còn gán datasource tự động thì heo mình nghĩ là k đc:

    đây là ví dụ của mình, sử dụng repeate để bind 1 loạt các category, bên trong category đó sẽ có dropdownlist để bìn các nhãn hiệu.

    Code:
    protected void RPTListSubCategory_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
                {
                    Label lblID = (Label)e.Item.FindControl("lblSubCategoryID");
                    var item = productVM.getBrandToIndex(Convert.ToInt32(lblID.Text), 99);
    
                    DropDownList drd = (DropDownList)e.Item.FindControl("DDLBrand");
                    if (item != null && item.Count() > 0)
                    {
                        drd.DataSource = item;
                        drd.DataTextField = "Name";
                        drd.DataValueField = "Name";
                        drd.DataMember = lblID.Text;
                        drd.DataBind();
                    }
                    else
                        drd.Visible = false;
                }
            }
    Cám ơn bạn để mình làm thử xem sao

Các đề tài tương tự

  1. Algorithm Liên kết dữ liệu các listview với nhau trong c#
    Gửi bởi bknight092 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 11-04-2012, 07:56 AM
  2. Graphic Đổ dữ liệu trong từ List<> sang ListView với những cột không đều nhau
    Gửi bởi lenhatnguyen trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 21-12-2011, 05:21 PM
  3. Cách sử dụng 2 listview lồng nhau trong ASP.NET?
    Gửi bởi nguyenduyduc106 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 21-10-2011, 11:29 PM
  4. Chọn vị trí hiển thị ảnh trong ListView như thế nào ?
    Gửi bởi laogia123 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 25-09-2011, 05:18 PM
  5. Tự động xuống hàng trong Listview thì làm thế nào?
    Gửi bởi lehuuthanh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 01-10-2010, 02:00 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn