欧美日韩亚-欧美日韩亚州在线-欧美日韩亚洲-欧美日韩亚洲第一区-欧美日韩亚洲二区在线-欧美日韩亚洲高清精品

金喜正规买球

[代碼示例]如何在RichEditControl中創建主從報表

原創|使用教程|編輯:龔雪|2017-08-22 16:00:55.000|閱讀 493 次

概述:傳統.NET界面有一個富文本控件RichTextBox,在DevExpress控件組里面也有一個同等的控件——RichEditControl

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

這個例子講了一個比較老的方法。通過DOCVARIABLE字段,用RichEditDocumentServer創建主從文檔。

該項目使用由DevExpress示例nwind.xml文件提供的的二級Categories - Products分層數據源。得到的文件如下所示:

DataClasses.cs

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.ComponentModel;
using System.Linq;

namespace MasterDetailExample
{

    public class SupplierCollection : ArrayList, ITypedList {
        PropertyDescriptorCollection ITypedList.GetItemProperties(PropertyDescriptor[] listAccessors) {
            if (listAccessors != null && listAccessors.Length > 0) {
                PropertyDescriptor listAccessor = listAccessors[listAccessors.Length - 1];
                if (listAccessor.PropertyType.Equals(typeof(ProductCollection)))
                    return TypeDescriptor.GetProperties(typeof(Product));
                else if (listAccessor.PropertyType.Equals(typeof(OrderDetailCollection)))
                    return TypeDescriptor.GetProperties(typeof(OrderDetail));
            }
            return TypeDescriptor.GetProperties(typeof(Supplier));
        }
        string ITypedList.GetListName(PropertyDescriptor[] listAccessors) {
            return "Suppliers";
        }
    }

    public class Supplier {
        static int nextID = 0;
        int id;
        string name;
        ProductCollection products = new ProductCollection();

        public ProductCollection Products { get { return products; } }
        public int SupplierID { get { return id; } }
        public string CompanyName { get { return name; } }

        public Supplier(string name) {
            this.name = name;

            this.id = nextID;
            nextID++;
        }
        public void Add(Product product) {
            products.Add(product);
        }
    }

    public class ProductCollection : ArrayList, ITypedList {
        PropertyDescriptorCollection ITypedList.GetItemProperties(PropertyDescriptor[] listAccessors) {
            return TypeDescriptor.GetProperties(typeof(Product));
        }
        string ITypedList.GetListName(PropertyDescriptor[] listAccessors) {
            return "Products";
        }
    }

    public class Product {
        static int nextID = 0;

        OrderDetailCollection orderDetails = new OrderDetailCollection();
        int suppID;
        int prodID;
        string name;

        public int SupplierID { get { return suppID; } }
        public int ProductID { get { return prodID; } }
        public string ProductName { get { return name; } }
        public OrderDetailCollection OrderDetails { get { return orderDetails; } }

        public Product(int suppID, string name) {
            this.suppID = suppID;
            this.name = name;

            this.prodID = nextID;
            nextID++;
        }
    }

    public class OrderDetailCollection : ArrayList, ITypedList {
        PropertyDescriptorCollection ITypedList.GetItemProperties(PropertyDescriptor[] listAccessors) {
            return TypeDescriptor.GetProperties(typeof(OrderDetail));
        }
        string ITypedList.GetListName(PropertyDescriptor[] listAccessors) {
            return "OrderDetails";
        }
    }

    public class OrderDetail {
        int prodID;
        string orderID;
        short quantity;
        public int ProductID { get { return prodID; } }
        public string OrderID { get { return orderID; } }
        public short Quantity { get { return quantity; } }

        public OrderDetail(int prodID, string orderID, int quantity) {
            this.prodID = prodID;
            this.orderID = orderID;
            this.quantity = Convert.ToInt16(quantity);
        }
    }
}

DataHelper.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MasterDetailExample
{
    class DataHelper
    {

        public static  SupplierCollection CreateData()
        {
            SupplierCollection suppliers = new SupplierCollection();

            Supplier supplier = new Supplier("Exotic Liquids");
            suppliers.Add(supplier);
            supplier.Add(CreateProduct(supplier.SupplierID, "Chai"));
            supplier.Add(CreateProduct(supplier.SupplierID, "Chang"));
            supplier.Add(CreateProduct(supplier.SupplierID, "Aniseed Syrup"));

            supplier = new Supplier("New Orleans Cajun Delights");
            suppliers.Add(supplier);
            supplier.Add(CreateProduct(supplier.SupplierID, "Chef Anton's Cajun Seasoning"));
            supplier.Add(CreateProduct(supplier.SupplierID, "Chef Anton's Gumbo Mix"));

            supplier = new Supplier("Grandma Kelly's Homestead");
            suppliers.Add(supplier);
            supplier.Add(CreateProduct(supplier.SupplierID, "Grandma's Boysenberry Spread"));
            supplier.Add(CreateProduct(supplier.SupplierID, "Uncle Bob's Organic Dried Pears"));
            supplier.Add(CreateProduct(supplier.SupplierID, "Northwoods Cranberry Sauce"));

            return suppliers;
        }

        static Random random = new Random(5);

        public static  Product CreateProduct(int supplierID, string productName)
        {
            Product product = new Product(supplierID, productName);

            product.OrderDetails.AddRange(new OrderDetail[] { 
                new OrderDetail(product.ProductID, GetRandomString(), random.Next(0, 100)), 
                new OrderDetail(product.ProductID, GetRandomString(), random.Next(0, 100)),
                new OrderDetail(product.ProductID, GetRandomString(), random.Next(0, 100)) });

            return product;
        }

        public static List<int> CreateFakeDataSource()
        {
            List<int> result = new List<int>();
            result.Add(0);
            return result;
        }

        public static string GetRandomString()
        {
            string path = System.IO.Path.GetRandomFileName();
            path = path.Replace(".", ""); 
            return path;
        }
    }
}

Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraRichEdit;
using DevExpress.XtraTab;
using DevExpress.XtraRichEdit.API.Native;
using System.Collections;

namespace MasterDetailExample
{
    public partial class Form1 : Form
    {
        SupplierCollection ds;
        ProductCollection dataDetailedForProducts;
        OrderDetailCollection dataDetailedForOrders;
        static List<int> fakeDataSource = DataHelper.CreateFakeDataSource();
        int supplierID = -1;
        int productID = -1;        

        public Form1()
        {
            InitializeComponent();

            // Associate RichEditControls with TabPages 
            xtraTabPage1.Tag = mainRichEdit;
            xtraTabPage2.Tag = suppllierRichEdit;
            xtraTabPage3.Tag = productRichEdit;
            xtraTabPage4.Tag = ordersRichEdit;

            xtraTabControl1.SelectedPageChanged+=new TabPageChangedEventHandler(xtraTabControl1_SelectedPageChanged);

            // Subscribe to the CalculateDocumentVariable event that triggers the master-detail report generation
            resultRichEdit.CalculateDocumentVariable += new CalculateDocumentVariableEventHandler(resultRichEdit_CalculateDocumentVariable);

            // Load main template
            mainRichEdit.LoadDocument("main.rtf");

            // Create project's data source
            ds = DataHelper.CreateData();

            // Load templates and specify data sources for RichEdit controls. These data sources facilitate inserting merge fields 
            //by using the Insert Merge Fields button in Ribbon UI.

            suppllierRichEdit.LoadDocument("supplier.rtf");
            suppllierRichEdit.Options.MailMerge.DataSource = ds;
            
            productRichEdit.LoadDocument("detail.rtf");
            productRichEdit.Options.MailMerge.DataSource = ds;
            productRichEdit.Options.MailMerge.DataMember = "Products";
            
            ordersRichEdit.LoadDocument("detaildetail.rtf");
            ordersRichEdit.Options.MailMerge.DataSource = ds;
            ordersRichEdit.Options.MailMerge.DataMember = "Products.OrderDetails";

            // Display data using XtraGrid control.
            gridControl1.DataSource = ds;
        }

        #region #startmailmerge
        // Start the process by merging the main template into the document contained within the resultRichEdit control.
        private void performMailMergeItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            // Since the main template contains no merge fields that require merge data, provide a mock data source.
            // Otherwise, mail merge will not start.
            mainRichEdit.Options.MailMerge.DataSource = fakeDataSource;
            // Trigger the multistage process. After the first mailmerge the CalculateDocumentVariable event
            //for the resultRichEdit control fires.
            mainRichEdit.MailMerge(resultRichEdit.Document);
            xtraTabControl1.SelectedTabPage = xtraTabPage5;
        }
        #endregion #startmailmerge

        #region #secondstage
        // Second stage. For each Supplier ID, create a detailed document that will be inserted in place of the DOCVARIABLE field.
        void resultRichEdit_CalculateDocumentVariable(object sender, CalculateDocumentVariableEventArgs e)
        {
            if (e.VariableName == "Supplier") {
                // Create a text engine to process a document after the mail merge.
                RichEditDocumentServer richServerMaster = new RichEditDocumentServer();
                // Provide a procedure for further processing.
                richServerMaster.CalculateDocumentVariable += richServerMaster_CalculateDocumentVariable;
                // Create a merged document using the Supplier template. The document will contain DOCVARIABLE fields with ProductID arguments. 
                // The CalculateDocumentVariable event for the richServerMaster fires.
                suppllierRichEdit.MailMerge(richServerMaster);
                richServerMaster.CalculateDocumentVariable -= richServerMaster_CalculateDocumentVariable;                
                // Return the document to insert.
                e.Value = richServerMaster.Document;
                // Required to use e.Value. Otherwise it will be ignored.
                e.Handled = true;
            }
        }
        #endregion #secondstage
        #region #thirdstage
        // Third stage. For each Product ID, create a detailed document that will be inserted in place of the DOCVARIABLE field.
        void richServerMaster_CalculateDocumentVariable(object sender, CalculateDocumentVariableEventArgs e)
        {
            int currentSupplierID = GetID(e.Arguments[0].Value);
            if (currentSupplierID == -1)
                return;

            if (supplierID != currentSupplierID) {
                // Get the data source that contains products for the specified supplier.
                dataDetailedForProducts = GetProductsDataFilteredbySupplier(currentSupplierID);
                supplierID = currentSupplierID;
            }

            if (e.VariableName == "Product") {
                // Create a text engine to process a document after the mail merge.
                RichEditDocumentServer richServerDetail = new RichEditDocumentServer();
                // Specify the data source for the mail merge.
                MailMergeOptions options = productRichEdit.CreateMailMergeOptions();
                options.DataSource = dataDetailedForProducts;
                // Specify that the resulting table should be joined with the header table.
                // Do not specify this option if calculated fields are not within table cells.
                options.MergeMode = MergeMode.JoinTables;
                // Provide a procedure for further processing.
                richServerDetail.CalculateDocumentVariable += richServerDetail_CalculateDocumentVariable;
                // Create a merged document using the Product template. The document will contain DOCVARIABLE fields with OrderID arguments. 
                // The CalculateDocumentVariable event for the richServerDetail fires.
                productRichEdit.MailMerge(options, richServerDetail);
                richServerDetail.CalculateDocumentVariable -= richServerDetail_CalculateDocumentVariable;
                // Return the document to insert.
                e.Value = richServerDetail.Document;
                // This setting is required for inserting e.Value into the source document. Otherwise it will be ignored.
                e.Handled = true;
            }
        }
        #endregion #thirdstage
        #region #fourthstage
        // Fourth stage. For each Order ID, create a detailed document that will be inserted in place of the DOCVARIABLE field.
        // This is the final stage. The Product.Orders template does not contain DOCVARIABLE fields, so further processing is not required.
        void richServerDetail_CalculateDocumentVariable(object sender, CalculateDocumentVariableEventArgs e)
        {
            int currentProductID = GetID(e.Arguments[0].Value);
            if (currentProductID == -1)
                return;

            if (productID != currentProductID) {
                // Get the data source that contains orders for the specified product.
                // The data source is obtained from the data already filtered by Supplier.
                dataDetailedForOrders = GetOrderDataFilteredbyProductAndSupplier(currentProductID);
                productID = currentProductID;
            }
            
            if (e.VariableName == "OrderDetails") {

                RichEditDocumentServer richServerDetailDetail = new RichEditDocumentServer();
                MailMergeOptions options = ordersRichEdit.CreateMailMergeOptions();
                options.DataSource = dataDetailedForOrders;
                options.MergeMode = MergeMode.JoinTables;
                ordersRichEdit.MailMerge(options, richServerDetailDetail);
                e.Value = richServerDetailDetail.Document;
                e.Handled = true;
            }
        }
        #endregion #fourthstage
        #region Helper Methods
        void xtraTabControl1_SelectedPageChanged(object sender, TabPageChangedEventArgs e)
        {
            // Specify a new target for the Ribbon interface - the RichEditControl that is currently active.
            RichEditControl richEditControl = (RichEditControl)xtraTabControl1.SelectedTabPage.Tag;
            richEditBarController1.RichEditControl = richEditControl;
        }

        protected internal virtual ProductCollection GetProductsDataFilteredbySupplier(int supplierID)
        {
            ProductCollection products = new ProductCollection();

            foreach (Supplier s in ds) {
                if (s.SupplierID == supplierID) {
                    products.AddRange(s.Products);
                }
            }

            return products;
        }

        protected internal virtual OrderDetailCollection GetOrderDataFilteredbyProductAndSupplier(int productID)
        {
            OrderDetailCollection orders = new OrderDetailCollection();

            foreach (Product p in dataDetailedForProducts) {
                if (p.ProductID == productID) {
                    orders.AddRange(p.OrderDetails);
                }
            }
            return orders;
        }
        protected internal virtual int GetID(string value)
        {
            int result;
            if (Int32.TryParse(value, out result))
                return result;
            return -1;
        }
        #endregion Helper Methods
    }

}

想要速成DevExpress大師?秘籍在這里→


標簽:DevExpress

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn


為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
视频一区 | 欧洲亚洲日韩中文字幕首页 | 99国产精品国产精品九九 | 国产+日韩+另类+视频一区爱 | a天堂中文在线天堂资源中文 | 精品一区二区三区在线观看视频 | 亚洲中文字幕第一页在线 | 天堂mv亚洲mv在线播放9蜜 | 国国产乱理伦片在线观看夜 | 中文在线а√天堂官网 | 男插女下 | 亚洲精品欧美日韩一区二区 | 亚洲中中文字幕第一页 | 国产精品网站 | 国产在线va无卡 | 国产99视频精品免费专区 | 欧美精品成人a在线观看 | 日韩欧美国产中文综合 | 成年视频xxxxx在线 | 国内精品99亚洲免费高清 | 自宅警备员ova动漫 国产第一区 | 国产国产人免费视频成69大陆 | 1区2区3区高清视频 色老大综合 | 欧美日韩在线视频专区免费 | 亚洲s色大片在线观看 | 国产一卡2卡3卡4卡网站免费 | 日日夜夜 | 免费一级欧美片在线观看 | 亚洲国产福利成人一区二区 | 亚洲国产亚洲片在线观看播放 | 香港日本韩国三级网站 | 欧美日韩在线免费观看 | 美女视频黄频a | 国产精品直 | 亚洲欧美精品福利一区二区 | 国产一区精品普通话对白 | 在线观看精品国产免费 | 中文字幕一区日韩高清 | 在线精品欧 | 女の乳搾りです在线观看 | 国产日韩综合精品一区二区三区 | 欧美亚洲韩国日本一区 | 亚洲香蕉综合在人在线视看 | 日韩美女永久网址在线观看 | 精品視頻無碼一區二區三區 | 好看中文 | 中文亚洲成a人片在线播放 人成视频在线观看国产 | 小明加密通道最新三 | 欧美日韩一级视频 | 全网热播最新电影电视剧 | 福利影视| 中文字幕在线不卡精品视频99 | 亚洲一区在线播放蜜臀 | 免费人成网站在线免费观看 | 中文字幕一精品亚洲无线一区 | 国产日本韩国视频 | 中文字幕一区二区三 | 亚洲男人夜夜精品电影 | 免费在线观看日韩电影大片 | 五月婷婷综合在线视频 | 国产观看精品一区二区三区 | 国产精品看高国产精品不卡 | 国产免费人成视频在线观看 | 老师喂我乳我脱她内裤 | 免费级人成大片在线观看 | 国产精品婷婷午夜 | 亚洲性影院在线看 | 夜鲁鲁鲁夜夜综合视频 | 欧美中文小说在线观看 | 欧美天堂 | 国产精品一区二区三区免 | 亚洲人成影视在线观看 | 亚洲欧美另类天天更新影院 | 免费人成视频年轻人在线无毒不卡 | 午夜a级理论片在线播放不卡 | 99精品国产高清一区 | 成人日动漫卡一区二区三区动漫 | 日本成人三级在线播放 | 最近2025最新中文字幕免费看 | 深夜影视网 | 国产韩国日本欧美在线观看 | 国产婷婷综合在线视频 | 香蕉精品亚洲二区在线观看 | 婷婷亚洲久悠悠色在线播放 | 91电影天堂nba国产 | 中文字幕亚洲网址 | 国产免费爽爽视频 | 中文字幕在线有码高清 | 福利一区二区三区视频在线 | 免费人成在线观看视频品爱网 | 国产午夜福利短视频 | 国产精品办公室沙发 | 99热在线获取最新地址 | 日韩亚洲欧美高清在线观看 | 水蜜桃视频网站在 | 国产成年码 | 精品午夜国产在 | 日韩一中文字 | 欧美重口另类在线播放二区 | 欧美囗交xx×b | 欧美伦理一区二区 | 欧美精产国品一二三类产品特点 | 91精品福利 | 日韩高清三级在线观看 | 国产伦精品一一区二区三区高清版 | 99视频精品全部品全正 | 97韩剧| 欧美另类第一页 | 亚洲永久| 国产精品偷伦费看 | 6080欧美一区二区三区四区 | 热播电视剧免费追剧 | 日韩精品专区中文字幕 | 免费播放婬乱男女婬视频 | 国产日产高清欧美一区二区三区 | 97免费| 国产国产人免费人成免费视频 | 99久视频只有精品2025 | 国产日韩一区二区三区在线观看 | 精品国产系列 | 国产综合精品 | 亚洲日本aⅴ精品一区二区在线 | 国产激情免费 | 欧美日韩在线播放成人 | 日韩国产精品va一区二区 | 日本高清视频色www在线观看 | 韩国主播| 好看的电视剧全集免费在线观看 | 欧洲精品视频一二三区视频 | 国产精品欧美一区二区三区 | 亚洲日韩在线中文字幕第一页 | 热门短剧短视频 | 日本一区欧美国产日韩 | 一区二区三区中国视频免费在线播 | 亚洲精品aⅴ中文字幕 | 国产日韩精品欧美一区喷水 | 精品一区二区三区电影 | 福利一区二区在线 | 午夜欧美 | 国产精品日韩欧美制服 | 极品美女国产精品 | 国产对白普通话视 | 日韩美女网站在线看 | 91香蕉国产线在线观看免费 | 野花香视频在线观看免费高清版 | 黄瓜视频在线播放看片 | 中文字幕不卡高清dvd | 国内自拍网| 免费人成网站在线免费观看 | 精品国产福利一区二区在线 | 国产啪精品视频网站免费尤物 | 日韩在线欧美高清一区 | 亚洲国产主播不 | 性欧美暴 | 卡一卡二卡三国产传媒 | 日本不无在线一区二区三区 | 欧美日韩日本中国高清视频在线 | 文中字幕一区二区三区视频播放 | 思思精品 | 中文字幕一区二区三区 | 91精品免费看 | 国产亚洲精品一区二区在线 | 五月婷婷丁香色 | 精品一卡2卡三卡4卡免费视频 | 九九热视频在线免费观看 | 成aⅴ人免费观 | 男人的天堂a | 激情综合一区二区三区 | 亚洲囯产一区二区三区 | 国产日b| 欧美v亚洲v综合v国产v | 国产剧情演绎在线在线 | 泰国一级特黄在线观看大片 | 欧美激情综合亚洲一二区 | 国产亚洲精品久 | 熟女人妇 | 日本高清不卡aⅴ免费网站 精品国产污 | 精品国产香 | 污视频在线观看国产的 | 欧美精品国 | 免费影院 | 狠狠亚洲婷婷综合色香五月 | 国产精品女同一区二区免费站 | 精品国产免费人成电影在线观看 | 国产精品专区第一页 | 国产高清久 | 免费高清电影影视大全 | 老司机导航在线观看 | 精品国产不卡在线观看免费 | 中文字字幕乱码高清二本道资源站 | 国产真实露脸乱子伦 | 新91网页版 | 在线观看午夜亚洲一区 | 欧美xxxx黑人又粗又长精品 | 欧美一区区三区四区五区在线观看 | 国语自产免费精品视频一区二区 | www在线资源 | 女男羞羞视频网站免费 | 国产精品性爱视频 | 欧美交a欧美精品喷水 | 91影视永久福利免费观 | 今日吃瓜 | 好看的高清电影大全 | 欧美一区二区三区免费播放 | 欧美性xxxx极品高清 | 日韩精品一区二区三区视频网 | 免费人成视频在线播放视频 | 国产午夜电影在线电影 | 变态另类清纯唯美中文 | 首播电影网| 日韩在线精品成人v在线 | 成人国产亚洲欧美一区 | 在线观看国产视频黄 | 不卡一区二区 | 日本亲子乱在线播放 | 国语自产精品视频 | 亚洲一区二区国产精品 | 日韩一级在线精品国产 | 中文字幕亚洲无线码在一区 | 奇米视频在线观看 | 丰满大码熟女在线播放 | 中文字幕视频二区 | 手机影视大全 | 国产一级在视频在线观 | 好看的手机电影 | 午夜福利电影网 | 国产在线精品国自产在线 | 在线免费在线观看的a | 不卡视频在线播放 | 国产激情免费视频在线观看 | 欧美嫩交| 日本三级在线 | 亚洲一区国产日韩午夜在线观看 | 亚洲成在人线中文字幕 | 国产视频一区二区在线观看 | 国产精品免 | 高清影院 | 69精产国品 | 国产女人抽搐喷浆视频 | 亚洲国产区男人本色vr | 国产精品一区 | 五月婷婷爱六月久 | 亚洲人成影院在线观看 | 真实国产熟睡乱子伦视频 | 国产自拍偷拍在线一区二区 | 91欧美在线视频 | 免费在线观看日韩电影大片 | 91热成人精品国产免费 | 伊人焦久综合影院每日更新 | 视频2免费观看 | 成人亚洲 | 欧美不卡视频 | 日韩午夜理论免费tv影院 | 国产精品视频视 | 99视频精品免费在线观看 | 在线观看福利影院 | 午夜网站在线观看www | 欧美网址在线观看 | 在线观看网站人成亚洲小说 | 精品国产91乱码一区二区三区 | 在线观看精品国产 | 国产精品jizz在线观看直播 | 欧美精品小视频 | 欧美精品视频一区 | 神马电影 | 日韩免费视频 | 国产尹人在线视 | 久操免费在线观看 | 国产又黄的a级鬼片在线观看 | 国产人妖的免 | 国产精品视频大陆免费播放 | 国产免费人成在线看视频 | 国产va免 | 精品一线二线三线区别在哪欧美 | 欧美+日本+国产+在线观看 | 国产一区二区在线视频观看 | 欧美综合自拍亚洲综合网 | 欧美国产精品va在线观看 | 欧洲亚洲欧美国产日本高清 | 国产精品丝袜一区二区三区 | 国产日本欧美三区 | 欧洲精品卡1区2卡三卡四卡 | 国产欧美日韩综合精品无毒 | 国产日产欧产精品精品 | 免费亚洲日 | 欧美疯狂 | 手机看片1024欧美日 | 国产一区精品普通话对白 | 顶级欧美妇高清xxxxx | 国产高清一区二区三区免费视频 | 国产亚洲欧美日韩在线观着 | 最新国产精品 | 欧美国产日韩在线播放成人 | 中文日产 | 国产制服丝袜观看 | 欧美a在线看 | 成人国产综合三级 | 亚洲国产精品成 | 亚洲一区精品中文字幕 | 玖玖国产视频拍拍拍 | 国产福利日本一区二区三区 | 亚洲日本一区二区三区在线 | 性猛交ⅹxxx富婆视频 | 黑人巨大videos极度另类 | 激情小说亚洲图片伦 | 91大神在线资源观看无广告 | 日本三级理论一区二区三区 | 国产拳头 | 国产欧美日产中文一区 | 青青青爽在 | 国产亚洲人成网站观看 | 伦理片国产精品 | 亚欧人成精品免费观看 | 国产欧美精品久 | 亚洲一区二区国产精品 | 亚洲人成网址在线播放小说 | 国产电影一区二区三区 | 国产在线观看码高 | 国产又黄又爽视频 | 丰满成熟亚洲人毛茸茸 | 国语精品视频自产自拍 | 国产欧美日韩一区二区三区在 | 露脸美女另类 | 尽享高清电影和精彩影视剧 | 国产精品三级国语在线看 | 中文字幕免费播放 | 亚洲色成人www永久在线观看 | 国产激情在线观看 | 精品视频一区二区三区在线观看 | 永久免费的污视频网站 | 亚洲最大的情人在线 | 午夜影视网站 | 99精品国产在热 | 亚洲第一区国产一区二区精品 | 国产大片免费天天看 | 日韩精品高清在线亚洲天堂 | 最新日韩欧美不卡一二三 | 国产福利在线免费观看 | 中文字幕国产在线观看 | 中文www新版资源在线天堂√ | 精品a视频在线观看 | 亚洲精品国产精品乱码视色 | 欧美一级鲁丝 | 国产午夜福利在线观看污 | 国产ol丝袜高跟在线观看不卡 | 韩国三级| 亚洲第一国产午夜福利电影 | 99re热这里只有精品66 | 国产精品自在在线香蕉 | 亚洲综合一区三区 | 亚洲免费精品一二三四 | 国产亚洲日韩欧美在线成 | 国产伦精品一区二区三区在 | 国产馆精品推荐在线观看 | 国产网站免费视频 | 香蕉在线亚洲欧美专区 | 精品福利一区二区在线观看 | 国产免费一区二区三区在线看 | 亚洲成综合人在线播放 | а√最新版天堂资源在线 | 综合精品网成人影院 | 国产精品一线二线三线 | 中文无字幕一 | 热门电影综艺电视剧在线观看 | 国内精品人 | 国产a级毛 | 欧洲乱码专区一区二区三区四区 | 国内自拍中文欧美 | 日韩交换精品 | 国产午夜在线观看免费 | 免费在线观看国内色片网站网址 | 免费在线观看最新高清电影 | 国产精品亚洲日韩aⅴ在线 亚洲成a人v欧美综 国产美女嘘嘘嘘嘘嘘 | 91精品国产综合久蜜臀 | 欧洲亚洲国产日韩综合一区 | 欧美经典日韩在 | 中文字幕v| 成人人免费夜夜视频观看 | 亚洲一区二区三区精品影院 | 自制国产2025福利看片 | 国产女女互摸互慰在线观 | 性开放的欧美大片黑白配 | 成人午夜福利短视频在线观 | 国产精品v欧美精品v日韩 | 免费播放| 欧美精品免费一区二区三区在线 | 1卡2卡三卡4卡国产 欧美日韩精品一区二区在线 | 国产操女人 | 野花日本大全免费 | 亚洲日韩一区二区三区四区高清 | 免费高清电影在线观看 | 欧美日韩亚洲国产精品自拍 | 少女韩国在线观看完整版免费 | 日本亚洲国产一区二区三区 | 国产一区二区三区在线综合视频 | 亚洲精品欧| 国产精品视频在这里有精品 | 欧美日韩欧 | 午夜男女爽爽影院在线 | 精品人无 | 亚洲ssswww视频 | 男人的天堂a| 青青草免费国产视频网站 | 黄动漫在| 伊人色综合一区二区三区 | 日本免费一区高清观看 | 色五月激情五月综合网五月天 | 夜夜爽一区二区三区精品 | 国产伦精品一一区二区三区高清版 | 中文中幕a在线 | 欧美国产日韩在线播放成人 | 国产欧美日韩综合精品区一区二区 | 中文字幕免 | 欧美日韩国产精品一区二区 | 日韩精品亚洲人旧成在线 | 大色综合色综合资源站 | 神马午夜| 99精品国产高清一区二区 | 中文字幕久 | 亚洲丝袜一区二区 | 色色综合资源站 | 亚洲中文娱乐网在线观看 | 一区二区三区高清视频在线观看 | 国产日产亚洲系列电影 | 色偷偷亚洲女人天堂观看欧 | 国产精品萌白酱永久在线观看 | 国产普通对白手机在线 | 99精品视频在线观看免费 | 91福利国产午夜亚洲精品 | 国内成人精品亚洲 | 国产欧美精品一区二区色综合 | 天天综合日韩7799 | 午夜成人理论福利片 | aⅴ天堂在线 | 91精品全国免费观看青青 | 亚洲国产欧洲在线一区 | 亚州精品永久观看视频 | 国产日韩精品一区二区在线播放 | 欧美在线精品视频二区 | 日韩一级在线观看 | 丝袜美腿视频区一区二区三 | 亚洲精品亚洲人成在线播放 | 精品国产尤物 | 免费国产之 | 旋复花7799电影 | 亚洲精品免播放器在线观看 | 全集影院| 免费在线观看国 | 一区二区三欧美 | 欧美巨大黑人暴力xxxxx黑人 | 亚洲三级在线播放 | 日韩精品亚洲人成在线观看 | 国产精品一区 | 国产欧美日韩精品二区在线 | 亚洲日韩 | 91精品视频在线观看免费 | 当恶女恋 | 日本一区二区三区精品 | 欧美日韩国产高清一区二区三区 | 国产草草 | 免费永久在线观看污污的网站 | 欧美日韩亚洲国产一 | 欧美一级特黄aaa大片在线观 | 国产高清乱理伦片中文 | 国产福利精品视频 | 清除唯美 | 亚洲愉拍自拍另类 | 亚洲中文字幕第一页在线 | 欧美日韩中文字幕在线一区二区 | 日韩精品国产另类专区 | 精品欧美日韩一区二区三区 | 国产最新进 | 天堂视频 | 神马午夜福利我不卡手机电影 | 国产亚洲欧洲精品 | 亚洲日韩视频在线观看 | 色哟哟网站入口在线观看视频 | 国产精品一区福利在线观看 | 国产系列欧美系列每日更新 | 97青草最新免费精品视频 | 五月丁香激激情亚洲综合 | 精品国内自产拍在线观看 | 国产伦精| 香蕉一区二区三区中文字幕 | 婷婷亚洲综合一区二区 | 亚洲欧美综合中文 | 日产精品卡二卡三卡四卡乱码视频 | 99re热 | 欧美一区二区三区男人的天堂 | 欧美日韩精品国产一区二区 | 91精品福利自产拍在线 | 在线观看日韩欧美 | 男女午夜视频在线观 | 国产一级精品精冻电话 | 国产精品国内免费一区二区三区 | 91精品视频在线看 | 成a人片在线观看日本 | 97国产在线看片免费人成视频 | 曰本还a大片免费视频 | 日本丶国产 | 日本精品欧美一区二区三区 | 亚洲国产剧情中文视频在线 | 日韩激情国产 | 欧美日韩国产免费一区二区三区 | 亚洲天天网 | 日日夜人人澡人人澡人人看免 | 欧美成aⅴ人高清免费观看 精品人伦一区二区三区 | 天堂在线8一区二区三区 | 日本特黄特黄aaaaa大片 | 97国产在线一区不卡 | 国产亚洲欧洲aⅴ综合一区 ady中文字幕 | 精品国产日韩欧美一区二区 | 97色伦图片97综合影院 | 国产国语对白露脸 | 日本亚洲欧美国产电影在线观看 | 亚洲精品1区2区3区4区 | 国产美女极品免费视频 | 69午夜成年免费视频 | 新欧美三级经典在线观看 | 秋霞a级| 专区不卡| 国产在线精彩视频 | 欧美人与动性a欧美精品 | 天天被干免费观看视频 | 免费黃色三級片在线观看18 | 国产精选在线视频 | 亚洲欧洲一区二区 | 色哟哟www视频在线观看高清 | 国产精品亚洲午夜不卡 | 日本激情夜里视频在线观看 | 区三区不卡 | 亚洲精品老司机在线观看 | 奇奇影院 | 99爱在线精品视频免费观看9 | 精品自拍视频在线观看电影 | 欧美日本一区二 | 影视中文日本亚洲 | 奇米精品视频一区二区三区 | 韩国三级高清手机在线版 | www.一区二区三区在线 | a级韩国乱理论片在线观看 日韩欧美精 | 欧美三级短视频 | 国产粗语刺激对白ⅹxx | 国产福利在线观看免费第一福利 | 国产十八| 亚洲精品1区2区3区4区 | 亚洲精品成人 | 色偷偷亚洲女人天堂观看欧 | 日本乱理伦片在线观看中文 | 国产亚洲欧 | 欧美囗交xx×bbb视频 | 香蕉影院中文字幕视频在线观看 | 欧美日本片一区二区 | 香蕉在线播放 | 日韩亚洲欧美三区中文字幕 | 香蕉影院中文字幕视频在线观看 | 欧美精品亚洲精品日韩精品 | 91九色老熟女 | 亚洲精品午夜福利在 | 国产日韩在线视 | 国产午夜福利在线观看污 | 欧美日韩国产高清 | 激情精品一区二区在线观看 | 国产成年人精品一区二区 | 亚洲国产欧美在线综合 | 日本香蕉尹人在线视频 | 欧美日韩亚 | 欧美伊人网91 | 一区视频| 国产精品亲子乱 | 日本性爱欧美精品 | 国产精品自在线拍国产下载 | 国产日韩成人精品视频 | 亚洲第一性网 | 亚洲欧洲国产码专区在线观看 | xxx波多野 | 一区二区三区免费在线视频 | 亚洲人成影 | 国内偷视频在线观看 | 国产第一福利精品导航 | 国产成本人片免费v | 国产精品永久免费自在线观 | 男女性潮高清免费网站 | 亚洲日韩中文在线精品第一 | 激情中文小说区图片区 | 最新国产乱 | 日本一本免费线观看视频 | 国内精品在线观看看 | 国产欧美乱夫不卡无乱码 | 国产精品三级在线播放 | 国产精品1024香蕉在线观看 | 天美麻花果冻视频大全 | 天天看片高 | 一区二区亚洲精品国产片 | 国产一级视频播放 | 麻花传md0174苏蜜清歌 | 欧美亚洲中日韩中文字幕在线 | 在线观看国产h视频 | 亚洲老熟| 欧美日韩国产精品 | 天下第一日本在线观看视频 | 国产一区二区三区不卡在线看 | 欧美成熟电影全集 | 99国产精品免费观看视频 | 国产高清美女主播在线观看 | 乱码一线二线三线新区破解欧 | 一区二区三区日韩欧美 | 看片免费人成视频 | 99视频精品免视3 | 国产精华| 日本一本免费线观看视频 | 三年片中国在线观看免费大全 | 精品大臿蕉视频在线观看 | 中国免费高清视频在线观看 | 国产一区二区视频 | 一区二区亚洲日本欧美激情久婷婷 | 国产色a在线观看 | 国产一区二区xxx | 亚洲精品视频一区二区 | 国产精品国语对白露脸在线播放 | 日日精品国产高清国产专区 | 亚洲理伦片精 | 欧美日韩在线观看区一二 | 把你的香肠放入我的扇贝里 | 色综合天天综合网国产国产人 | 999任你躁在线精品免费 | 99热精品免费 | 99精品全国免费观看视频 | 二区三区| 女被男啪到哭的视频网站 | 偷拍美女厕所 | 国产老妇伦国 | 妺妺窝人体色www聚色窝仙踪 | 亚洲综合精品一区二区三区 | 午夜自产精品一区二区三区 | 污污污污污免费网站在线观看 | 亚洲第一成人影院 | 视频在线播放在线观看 | 国产亚洲一卡二卡三卡四卡 | 国产一区二区免费在线观看 | 亚洲第一成人影院 | 国产老色批视频在线观看应用 | 依依成人影院在线观看 | 精品欧美小视频在线观看 | 日韩亚射亚洲国产第一 | 欧美一区区三区四区五区在线观看 | 欧美亚洲国产日韩精品在线观 | 99热这里只有精品 | 免费动漫网站 | 在线观看国产人视频免费中国 | 亚洲欧美中文字幕在线播放 | 欧美视频人人干人人 | 亚洲视频中文字幕在线 | 亚洲色妇网站 | 国产精品不卡免费视频 | 欧美日韩精品一区二区三区 | 97碰成人国产免费公开视频 | 大胆gogo无 | 女同另类国产精品视频 | 日本一区二区三区四区视频 | 国产福利萌白酱精品tv一区 | 精品高清美女精品国产区 | 国产真实 | 国产欧美日韩精 | 国产一区视频在线观看 | 欧美在线激情视频 | 免费一级国产大片 | 欧美丰满熟 | 日本高清不卡中文字幕网 | 亚洲欧美国产国产一区二区三区 | 国产福利精品在线观看 | 91免费 | 动画片大全大人动漫在线观看 | 国产综合亚洲欧美日韩一区二区 | 日韩欧美综 | 日韩在线中文字幕视频 | 欧美日韩精品一区二区在线 | 国产福利免费在线观看 | 涩涩www在线观看免费高清 | 精品国产男人的天 | 亚洲欧洲日韩国产一区二区三区 | 成在线人永久免费播放视频 | 日本黄大片在线观看视频 | 亚洲色中文字幕先锋 | 日韩欧美一区二区三区视频在线 | 国产精品大片大片看大 | 亚洲国产亚洲片在线观看播放 | 乱码高清在线观看 | 国产乡下三级全黄三级 | 日韩专区中文字幕在线 | 亚洲国产综合 | 最新国产99热这里只有精品 | 在线观看精品国产 | 观看红杏 | 播放国语介绍动漫更新视 | 午夜国产福利在线 | a级粗大硬长爽猛视频免费 视频二区日韩 | 欧美v日韩v亚洲v最新在线观看 | 性插爽视频欧 | 精品国产免费一区二区三区香 | 亚洲精品分类在看在 | 国自产精品手机在线观看视 | 国产最新一区二区三区天堂 | 国产香蕉人在线播放视频网站 | 国产中文字幕免费不卡 | 国产对白国语对白 | 99热这里都是国产精品 | 国产精品视频1区 | 国产v欧美v日韩v亚洲老妇 | 亚洲欧美日本国产专区一区 | 亚洲午夜福利院在线 | 免费手机在线看片 | 人摸人人人澡 | 亚洲日本va | 97精品久| 最新中文字幕在线观看免费不卡 | 好吊妞在线视频免费观看综合网 | 国产精品多人 | 国产精品亚洲欧美高清 | 亚洲一页 | 日本高清不卡中文字幕视频 | 国产按摩院在线网站 | 日韩专区亚洲精品欧美专区 | 国产不卡一区二区三区免费视频 | 国产三区四区五区 | 欧美日本一区二区视频在线播放 | 亚洲国产区男 | 亚洲国产精品sss在线观看 | 亚洲无砖砖区免费 | 日韩免费精品视频一区二区三区 | 欧美激情办公室aⅴ | 日本一级淫片a免费播放口 911精品中文在线播放永久 | 日本三级做a全过程在线观看 | 草莓视频成人 | 在线免费观看成年人视频 | 美女扒精光 | 老司机67194免费观看 | 日本va欧美va精品发布 | 在线观看亚洲人成网站 | 中文字幕亚洲中文字幕 | 日本精品不卡在线观看 | 亚洲精品熟女 | 最好看的中文字幕国语电影 | 99久热国产| 中文亚洲成a人片在线播放 人成视频在线观看国产 | 国产老妇伦国 | 国产盗摄亚洲中国 | 欧美日韩亚洲一区二区精品 | 亚洲自拍欧美日韩丝袜 | 精品一4区 | 国产精品色三级在线观看 | 日韩精品欧美一区喷 | 九九热思思精品视频 | 91大神精品在线观看 | 欧美精品制服 | 日韩精品区一区二免费播放 | 亚洲视频一区 | 三年在线| 多多影院 | 青青草免费国产视频网站 | 欧美激情刺激爽爽影院 | 亚洲精品∧v在线观看 | 午夜国产福利 | 三级高清精品国产 | 国产免费人成视频在线观看播放 | 欧美亚洲一区二区三区 | 欧美一区二区成人精品视频 | 91免费在线观看 | 欧美无砖专区一中文字幕 | 末发育娇 | 国产中文亚洲日韩欧美 | 永远免费观看 | 午夜影视网站 | 九九国产视频 | 国产人成视频在线观看 | 国产亚州视频在线八a | 最好看的中文2025 | 欧美精品高清在线观看 | 国产欧美精品一区二区三区四 | 亚洲人成在线观看影院 | 成人午夜福利免费体验区 | 日韩种子 | 七十路熟女交尾hd | 亚洲男人的天堂在线观看 | 国产亚洲精品午夜福利 | 国语精品视频自产自拍 | 国产全黄三级三级 | 日韩一级在线观看 | 把伸进女人的www下载 | 亚洲欧美中日韩中文字幕 | 日韩18未满禁止观看 | 亚洲精品不卡 | 国产网红女主播精品视频 | 日韩欧美亚洲一区二区综合 | 国产主播福利 | 国产天堂在线丝袜一区 | 日本亚洲精品午夜 | 国产精品免费 | 韩国理伦片一区二区三区在线播 |