国产凹凸在线-国产拗女一区二区三区-国产白白视-国产白领-国产白拍-国产白丝jk被疯狂输-国产白丝喷-国产白丝在线

金喜正规买球

DevExpress WinForms中文教程:Data Grid - 如何創建和管理數據?

翻譯|使用教程|編輯:龔雪|2024-11-18 10:28:16.883|閱讀 123 次

概述:本文主要介紹如何使用DevExpress WinForms的Data Grid組件在代碼中創建和管理數據以及應用數據注釋屬性,歡迎下載最新版組件體驗!

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

相關鏈接:

在本教程中您將學習如何在代碼中為網格控件創建數據源,還將看到如何應用數據屬性使網格應用適當的編輯模式、單元格編輯器和輸入驗證規則。

P.SDevExpress WinForms擁有180+組件和UI庫,能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!

獲取DevExpress WinForms v24.1正式版下載

DevExpress技術交流群11:749942875      歡迎一起進群討論

使用DevExpress項目向導創建一個簡單的數據源

在創建新解決方案時,首先使用DevExpress模板集合中的DevExpress Project Wizard(項目向導)創建一個項目。

DevExpress WinForms中文教程圖集

啟動應用程序,看到網格顯示了樣本數據。

DevExpress WinForms中文教程圖集

切換到代碼來定位此數據的來源,向導會自動生成代碼,包括表單構造函數中的InitGrid方法調用。該方法使用Person類的5個實例填充BindingList,然后將BindingList對象分配給網格控件的屬性。

C#

class Person {
string firstName;
string secondName;
string comments;
public Person(string firstName, string secondName) {
this.firstName = firstName;
this.secondName = secondName;
comments = String.Empty;
}
public Person(string firstName, string secondName, string comments)
: this(firstName, secondName) {
this.comments = comments;
}
public string FirstName {
get { return firstName; }
set { firstName = value; }
}
public string SecondName {
get { return secondName; }
set { secondName = value; }
}
public string Comments {
get { return comments; }
set { comments = value; }
}
}

public Form1() {
// ...
InitGrid();
}

BindingList<Person> gridDataList = new BindingList<Person>();
void InitGrid() {
gridDataList.Add(new Person("John", "Smith"));
gridDataList.Add(new Person("Gabriel", "Smith"));
gridDataList.Add(new Person("Ashley", "Smith", "some comment"));
gridDataList.Add(new Person("Adrian", "Smith", "some comment"));
gridDataList.Add(new Person("Gabriella", "Smith", "some comment"));
gridControl.DataSource = gridDataList;
}

VB.NET

Friend Class Person
Private firstName_Renamed As String
Private secondName_Renamed As String
Private comments_Renamed As String
Public Sub New(ByVal firstName As String, ByVal secondName As String)
Me.firstName_Renamed = firstName
Me.secondName_Renamed = secondName
comments_Renamed = String.Empty
End Sub
Public Sub New(ByVal firstName As String, ByVal secondName As String, ByVal comments As String)
Me.New(firstName, secondName)
Me.comments_Renamed = comments
End Sub
Public Property FirstName() As String
Get
Return firstName_Renamed
End Get
Set(ByVal value As String)
firstName_Renamed = value
End Set
End Property
Public Property SecondName() As String
Get
Return secondName_Renamed
End Get
Set(ByVal value As String)
secondName_Renamed = value
End Set
End Property
Public Property Comments() As String
Get
Return comments_Renamed
End Get
Set(ByVal value As String)
comments_Renamed = value
End Set
End Property
End Class

Public Sub New()
' ...
InitGrid()
End Sub

Private gridDataList As New BindingList(Of Person)()
Private Sub InitGrid()
gridDataList.Add(New Person("John", "Smith"))
gridDataList.Add(New Person("Gabriel", "Smith"))
gridDataList.Add(New Person("Ashley", "Smith", "some comment"))
gridDataList.Add(New Person("Adrian", "Smith", "some comment"))
gridDataList.Add(New Person("Gabriella", "Smith", "some comment"))
gridControl.DataSource = gridDataList
End Sub

在最簡單的情況下,這就是如何在代碼中創建數據。定義一個表示記錄的對象,然后創建這樣一個對象的集合,并將該集合分配給網格的屬性。

創建更復雜的數據源

現在來看幾個用代碼創建數據并將其綁定到網格的示例。

 您可以定義作為數據記錄的自定義類,本教程中的示例代碼文件包含3個類的定義:CompanyPublicInfo、CompanyPrivateInfo和Product,每個類都包含自己的屬性,這些屬性將用作數據字段。

C#

// ...
public class CompanyPublicInfo {
public string CompanyName { get; set; }
public string Country { get; set; }
public string City { get; set; }
public string Url { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public string AdditionalInfo { get; set; }
}
// ...

VB.NET

Public Class CompanyPublicInfo
Public Property CompanyName() As String
Public Property Country() As String
Public Property City() As String
Public Property Url() As String
Public Property Email() As String
Public Property Phone() As String
Public Property AdditionalInfo() As String
End Class

這個文件后面定義的GridSampleDataList類提供了3個方法:GetCompanyPrivateInfo、GetCompanyPublicInfo和GetProductSample,這些方法中的每一個都返回一個由相應類的對象填充的BindingList:

C#

public class GridSampleDataList {
static public List<CompanyPublicInfo> GetCompanyPublicInfo() {
return new List<CompanyPublicInfo> {
new CompanyPublicInfo() {
AdditionalInfo = "Some Info",
City = "Glendale",
CompanyName = "Developer Express",
Country = "USA",
Email = "info@devexpress.com",
Phone = "1234567890",
Url = "www.devexpress.com",
},
// ...
};
}
// ...
}

VB.NET

Public Class GridSampleDataList
Public Shared Function GetCompanyPublicInfo() As List(Of CompanyPublicInfo)
Return New List(Of CompanyPublicInfo) From {
New CompanyPublicInfo() With {
.AdditionalInfo = "Some Info",
.City = "Glendale",
.CompanyName = "Developer Express",
.Country = "USA",
.Email = "info@devexpress.com",
.Phone = "1234567890",
.Url = "www.devexpress.com"
}
}
End Function
' ...
End Class

 現在創建允許應用程序用戶在這三個數據源之間切換的UI,返回到主表單設計,您可以看到添加到Ribbon Control的編輯器,下拉列表將包含三個與前面定義的數據源類型相對應的項。

DevExpress WinForms中文教程圖集

現在處理事件,根據當前選擇的下拉列表項將不同的BindingList對象分配給網格的 。

C#

private void barEditItem1_EditValueChanged(object sender, EventArgs e) {
DevExpress.XtraBars.BarEditItem item = sender as DevExpress.XtraBars.BarEditItem;
if(item == null) return;
switch (item.EditValue as string) {
case "Company public info":
gridControl.DataSource = GridSampleDataList.GetCompanyPublicInfo();
break;
case "Company private info":
gridControl.DataSource = GridSampleDataList.GetCompanyPrivateInfo();
break;
case "Product info":
gridControl.DataSource = GridSampleDataList.GetProductSample();
break;
}
}

VB.NET

Private Sub barEditItem1_EditValueChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim item As DevExpress.XtraBars.BarEditItem = TryCast(sender, DevExpress.XtraBars.BarEditItem)
If item Is Nothing Then
Return
End If
Select Case TryCast(item.EditValue, String)
Case "Company public info"
gridControl.DataSource = GridSampleDataList.GetCompanyPublicInfo()
Case "Company private info"
gridControl.DataSource = GridSampleDataList.GetCompanyPrivateInfo()
Case "Product info"
gridControl.DataSource = GridSampleDataList.GetProductSample()
End Select
End Sub

要確保基于當前可用的數據字段重新創建網格列,請處理事件,該事件在網格每次接收到新數據源時觸發。在事件處理程序中,只需調用 方法即可完成所需的工作。

C#

void gridControl_DataSourceChanged(object sender, EventArgs e) {
DevExpress.XtraGrid.GridControl grid = sender as DevExpress.XtraGrid.GridControl;
if(grid == null) return;
grid.MainView.PopulateColumns();
(grid.MainView as GridView).BestFitColumns();
}

VB.NET

Private Sub gridControl_DataSourceChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim grid As DevExpress.XtraGrid.GridControl = TryCast(sender, DevExpress.XtraGrid.GridControl)
If grid Is Nothing Then
Return
End If
grid.MainView.PopulateColumns()
TryCast(grid.MainView, GridView).BestFitColumns()
End Sub

運行應用程序,看看它是如何工作的,應用程序仍然以自動生成的樣例數據啟動。如果您從Ribbon中的下拉列表中選擇一個項目,網格將顯示來自相應數據源的數據。

DevExpress WinForms中文教程圖集
應用數據標注屬性

請注意,所有網格列都顯示了其默認編輯器,并應用了默認格式。例如,Product Info數據包含不能完全查看的多行文本,因為默認的網格單元格編輯器只允許單行文本。Company Public Info數據包括顯示為簡單文本字符串的url和電子郵件,以及理想情況下應該使用電話掩碼格式的電話號碼。最后,Private Company Info顯示不應該立即可見的密碼。

改變這種情況的一種方法是訪問列對象并更新它們的設置,但這意味著每次將數據源綁定到數據感知控件時都應該這樣做。另一種方法是使用Microsoft提供的、大多數DevExpress數據感知控件支持的數據注釋屬性。為了能夠使用這些屬性,請確保您的應用程序引用了System.ComponentModel.DataAnnotations名稱空間。

有兩種方法可以使用這些屬性,第一種也是最簡單的方法是在每個數據字段之前定義所需的屬性,這就是對Product類所做的工作。某些屬性指示數據類型,以便分配適當的單元格編輯器。ReadOnly屬性允許您禁用特定字段的數據編輯,還可以應用數據輸入驗證規則,正如Range屬性所做的那樣。

C#

using System.ComponentModel.DataAnnotations;

public class Product {
[ReadOnly(true)]
public double UnitPrice { get; set; }
[EnumDataType(typeof(ProductCategory))]
public int Category { get; set; }
[Display(Description = "The amount of currently available product")]
public int Quantity { get; set; }
[DataType(DataType.Text), Display(Order = -1)]
public string Text { get; set; }
[DataType(DataType.MultilineText)]
public string MultilineText { get; set; }
[DataType(DataType.Currency), Range(200, 5000)]
public int Currency { get; set; }
[DataType(DataType.Date)]
public DateTime Date { get; set; }
[DataType(DataType.Time)]
public DateTime Time { get; set; }
}

VB.NET

Imports System.ComponentModel.DataAnnotations

Public Class Product
<[ReadOnly](True)>
Public Property UnitPrice() As Double
<EnumDataType(GetType(ProductCategory))>
Public Property Category() As Integer
<Display(Description := "The amount of currently available product")>
Public Property Quantity() As Integer
<DataType(DataType.Text), Display(Order := -1)>
Public Property Text() As String
<DataType(DataType.MultilineText)>
Public Property MultilineText() As String
<DataType(DataType.Currency), Range(200, 5000)>
Public Property Currency() As Integer
<DataType(DataType.Date)>
Public Property [Date]() As Date
<DataType(DataType.Time)>
Public Property Time() As Date
End Class

啟動應用程序,切換到產品信息數據,看看它現在的樣子。多行文本使用MemoEdit單元格編輯器,它允許我們完整地查看文本,而Currency列只允許指定范圍內的數據。

DevExpress WinForms中文教程圖集

當您擁有多個類中不使用的唯一數據字段時,這種方法非常有用,完成相同任務的另一種方法是使用MetadataType類屬性。使用這種方法,您可以定義一次數據字段屬性,然后將該定義用于多個類。它還可以提高代碼的可讀性,因為數據屬性不必出現在每個屬性定義之前。

Private 和 Public Company Info類都將使用由CompanyProductMetadata類定義的元數據。

C#

[MetadataType(typeof(CompanyProductMetadata))]
public class CompanyPublicInfo {
// ...
}

// ...

public class CompanyProductMetadata {
[Display(ShortName = "Company", Name = "Company Name", AutoGenerateFilter = false)]
public object CompanyName;
[Display(Order = 2)]
public object Country;
[Display(Order = 1), Editable(false)]
public object City;
[DataType(DataType.Url)]
public object Url;
[DataType(DataType.EmailAddress)]
public object Email;
[DataType(DataType.PhoneNumber), Required]
public object Phone;
[DataType(DataType.Text), Display(Order = -1)]
public object Text;
[Display(AutoGenerateField = false, Description = "This column isn't created")]
public object AdditionalInfo;
[DataType(DataType.Password), StringLength(20, MinimumLength = 3)]
public object Password;
// ...
}

VB.NET

<MetadataType(GetType(CompanyProductMetadata))>
Public Class CompanyPublicInfo
' ...
End Class

Public Class CompanyProductMetadata
<Display(ShortName := "Company", Name := "Company Name", AutoGenerateFilter := False)>
Public CompanyName As Object
<Display(Order := 2)>
Public Country As Object
<Display(Order := 1), Editable(False)>
Public City As Object
<DataType(DataType.Url)>
Public Url As Object
<DataType(DataType.EmailAddress)>
Public Email As Object
<DataType(DataType.PhoneNumber), Required>
Public Phone As Object
<DataType(DataType.Text), Display(Order := -1)>
Public Text As Object
<Display(AutoGenerateField := False, Description := "This column isn't created")>
Public AdditionalInfo As Object
<DataType(DataType.Password), StringLength(20, MinimumLength := 3)>
Public Password As Object
' ...
End Class

運行應用程序來查看結果,切換到Public Company Info數據源,可以看到URL現在顯示為實際的超鏈接,電話號碼使用屏蔽輸入。

DevExpress WinForms中文教程圖集
完整代碼

本例中的解決方案包括一個數據源文件,該文件有三個提供網格數據的類——CompanyPublicInfo、CompanyPrivateInfo和Product。它們三個的屬性通過使用MetadataType屬性從CompanyProductMetadata類派生數據注釋屬性。最終用戶可以使用表單頂部的編輯器調用Get…方法之一,該方法將用示例數據填充網格。

重要提示:要使用數據注釋屬性,您需要在您的解決方案中引用System.ComponentModel.DataAnnotations庫。

DataSource.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GridDataAttributes {
[MetadataType(typeof(CompanyProductMetadata))]
public class CompanyPublicInfo {
public string CompanyName { get; set; }
public string Country { get; set; }
public string City { get; set; }
public string Url { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public string AdditionalInfo { get; set; }
}

[MetadataType(typeof(CompanyProductMetadata))]
public class CompanyPrivateInfo {
public string Password { get; set; }
public DateTime Date2 { get; set; }
public double Sales { get; set; }
public double Profit { get; set; }
public double SalesVsTarget { get; set; }
public double MarketShare { get; set; }
public double CustomersSatisfaction { get; set; }
}

public class Product {
[ReadOnly(true)]
public double UnitPrice { get; set; }
[EnumDataType(typeof(ProductCategory))]
public int Category { get; set; }
[Display(Description = "The amount of currently available product")]
public int Quantity { get; set; }
[DataType(DataType.Text), Display(Order = -1)]
public string Text { get; set; }
[DataType(DataType.MultilineText)]
public string MultilineText { get; set; }
[DataType(DataType.Currency), Range(200, 5000)]
public int Currency { get; set; }
[DataType(DataType.Date)]
public DateTime Date { get; set; }
[DataType(DataType.Time)]
public DateTime Time { get; set; }
}

public class CompanyProductMetadata {
[Display(ShortName = "Company", Name = "Company Name", AutoGenerateFilter = false)]
public object CompanyName;
[Display(Order = 2)]
public object Country;
[Display(Order = 1), Editable(false)]
public object City;
[DataType(DataType.Url)]
public object Url;
[DataType(DataType.EmailAddress)]
public object Email;
[DataType(DataType.PhoneNumber), Required]
public object Phone;
[DataType(DataType.Text), Display(Order = -1)]
public object Text;
[Display(AutoGenerateField = false, Description = "This column isn't created")]
public object AdditionalInfo;
[DataType(DataType.Password), StringLength(20, MinimumLength = 3)]
public object Password;
[DisplayFormat(DataFormatString = "MMMM/yyyy"), Display(Name = "Date 2")]
public object Date2;
[DisplayFormat(DataFormatString = "#,##0,,M")]
public object Sales;
[DisplayFormat(DataFormatString = "#,##0,,M")]
public object Profit;
[DisplayFormat(DataFormatString = "p", ApplyFormatInEditMode = true), Display(Name = "Sales vs Target")]
public object SalesVsTarget;
[DisplayFormat(DataFormatString = "p0", ApplyFormatInEditMode = false)]
public object MarketShare;
[Display(Name = "Cust Satisfaction")]
public object CustomersSatisfaction;
}

public enum ProductCategory {
Beverages = 1,
Fruit = 2,
Vegetables = 3,
Meat = 4,
Condiments = 5,
Confections = 6,
DairyProducts = 7,
GrainsCereals = 8,
Seafood = 9
}

public class GridSampleDataList {
static public List<CompanyPrivateInfo> GetCompanyPrivateInfo() {
return new List<CompanyPrivateInfo> {
new CompanyPrivateInfo() {
CustomersSatisfaction = 3.1,
Date2 = DateTime.Now,
MarketShare = 42,
Password = "123qwerty",
Profit = 4951515,
Sales = 311414134,
SalesVsTarget = 0.0277,
}
};
}
static public List<CompanyPublicInfo> GetCompanyPublicInfo() {
return new List<CompanyPublicInfo> {
new CompanyPublicInfo() {
AdditionalInfo = "Some Info",
City = "Glendale",
CompanyName = "Developer Express",
Country = "USA",
Email = "info@devexpress.com",
Phone = "1234567890",
Url = "www.devexpress.com",
}
};
}
static public List<Product> GetProductSample() {
return new List<Product> {
new Product() {
Currency = 1000,
Category = 2,
Date = DateTime.Now,
MultilineText = "Line1\r\nLine2\r\nLine3",
Quantity = 321,
Text = "Sample Text",
Time = DateTime.Now,
UnitPrice = 1800,
}
};
}
}
}

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.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Grid;

namespace GridDataAttributes {
public partial class Form1 : XtraForm {
public Form1() {
InitializeComponent();
gridView1.OptionsView.ShowGroupPanel = false;
gridControl1.DataSourceChanged += gridControl1_DataSourceChanged;
}

void gridControl1_DataSourceChanged(object sender, EventArgs e) {
gridControl1.MainView.PopulateColumns();
(gridControl1.MainView as GridView).BestFitColumns();
}

protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
//gridControl1.DataSource = CompanyProductList.GetSampleData();
//companyProductListBindingSource.DataSource = CompanyProductList.GetSampleData();
//companyProductBindingSource.DataSource = CompanyProductList.GetSampleData();
}

private void barEditItem3_EditValueChanged(object sender, EventArgs e) {
switch (barEditItem3.EditValue as string) {
case "Company public info":
gridControl1.DataSource = GridSampleDataList.GetCompanyPublicInfo();
break;
case "Company private info":
gridControl1.DataSource = GridSampleDataList.GetCompanyPrivateInfo();
break;
case "Product info":
gridControl1.DataSource = GridSampleDataList.GetProductSample();
break;
}
}
}
}

Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.Skins;

namespace GridDataAttributes {
static class Program {
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main() {
SkinManager.EnableFormSkins();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

Program.vb

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Threading.Tasks
Imports System.Windows.Forms
Imports DevExpress.Skins

Namespace GridDataAttributes
Friend NotInheritable Class Program

Private Sub New()
End Sub

''' <summary>
''' The main entry point for the application.
''' </summary>
<STAThread> _
Shared Sub Main()
SkinManager.EnableFormSkins()
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(False)
Application.Run(New Form1())
End Sub
End Class
End Namespace

Form1.vb

Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports System.Windows.Forms
Imports DevExpress.XtraEditors
Imports DevExpress.XtraGrid.Views.Grid

Namespace GridDataAttributes
Partial Public Class Form1
Inherits XtraForm

Public Sub New()
InitializeComponent()
gridView1.OptionsView.ShowGroupPanel = False
AddHandler gridControl1.DataSourceChanged, AddressOf gridControl1_DataSourceChanged
End Sub

Private Sub gridControl1_DataSourceChanged(ByVal sender As Object, ByVal e As EventArgs)
gridControl1.MainView.PopulateColumns()
TryCast(gridControl1.MainView, GridView).BestFitColumns()
End Sub

Protected Overrides Sub OnLoad(ByVal e As EventArgs)
MyBase.OnLoad(e)
'gridControl1.DataSource = CompanyProductList.GetSampleData();
'companyProductListBindingSource.DataSource = CompanyProductList.GetSampleData();
'companyProductBindingSource.DataSource = CompanyProductList.GetSampleData();
End Sub

Private Sub barEditItem3_EditValueChanged(ByVal sender As Object, ByVal e As EventArgs) Handles barEditItem3.EditValueChanged
Select Case TryCast(barEditItem3.EditValue, String)
Case "Company public info"
gridControl1.DataSource = GridSampleDataList.GetCompanyPublicInfo()
Case "Company private info"
gridControl1.DataSource = GridSampleDataList.GetCompanyPrivateInfo()
Case "Product info"
gridControl1.DataSource = GridSampleDataList.GetProductSample()
End Select
End Sub
End Class
End Namespace

DataSource.vb

Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.ComponentModel.DataAnnotations
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks

Namespace GridDataAttributes
<MetadataType(GetType(CompanyProductMetadata))> _
Public Class CompanyPublicInfo
Public Property CompanyName() As String
Public Property Country() As String
Public Property City() As String
Public Property Url() As String
Public Property Email() As String
Public Property Phone() As String
Public Property AdditionalInfo() As String
End Class

<MetadataType(GetType(CompanyProductMetadata))> _
Public Class CompanyPrivateInfo
Public Property Password() As String
Public Property Date2() As Date
Public Property Sales() As Double
Public Property Profit() As Double
Public Property SalesVsTarget() As Double
Public Property MarketShare() As Double
Public Property CustomersSatisfaction() As Double
End Class

Public Class Product
<[ReadOnly](True)> _
Public Property UnitPrice() As Double
<EnumDataType(GetType(ProductCategory))> _
Public Property Category() As Integer
<Display(Description := "The amount of currently available product")> _
Public Property Quantity() As Integer
<DataType(DataType.Text), Display(Order := -1)> _
Public Property Text() As String
<DataType(DataType.MultilineText)> _
Public Property MultilineText() As String
<DataType(DataType.Currency), Range(200, 5000)> _
Public Property Currency() As Integer
<DataType(DataType.Date)> _
Public Property [Date]() As Date
<DataType(DataType.Time)> _
Public Property Time() As Date
End Class

Public Class CompanyProductMetadata
<Display(ShortName := "Company", Name := "Company Name", AutoGenerateFilter := False)> _
Public CompanyName As Object
<Display(Order := 2)> _
Public Country As Object
<Display(Order := 1), Editable(False)> _
Public City As Object
<DataType(DataType.Url)> _
Public Url As Object
<DataType(DataType.EmailAddress)> _
Public Email As Object
<DataType(DataType.PhoneNumber), Required> _
Public Phone As Object
<DataType(DataType.Text), Display(Order := -1)> _
Public Text As Object
<Display(AutoGenerateField := False, Description := "This column isn't created")> _
Public AdditionalInfo As Object
<DataType(DataType.Password), StringLength(20, MinimumLength := 3)> _
Public Password As Object
<DisplayFormat(DataFormatString := "MMMM/yyyy"), Display(Name := "Date 2")> _
Public Date2 As Object
<DisplayFormat(DataFormatString := "#,##0,,M")> _
Public Sales As Object
<DisplayFormat(DataFormatString := "#,##0,,M")> _
Public Profit As Object
<DisplayFormat(DataFormatString := "p", ApplyFormatInEditMode := True), Display(Name := "Sales vs Target")> _
Public SalesVsTarget As Object
<DisplayFormat(DataFormatString := "p0", ApplyFormatInEditMode := False)> _
Public MarketShare As Object
<Display(Name := "Cust Satisfaction")> _
Public CustomersSatisfaction As Object
End Class

Public Enum ProductCategory
Beverages = 1
Fruit = 2
Vegetables = 3
Meat = 4
Condiments = 5
Confections = 6
DairyProducts = 7
GrainsCereals = 8
Seafood = 9
End Enum

Public Class GridSampleDataList
Public Shared Function GetCompanyPrivateInfo() As List(Of CompanyPrivateInfo)
Return New List(Of CompanyPrivateInfo) From { _
New CompanyPrivateInfo() With {.CustomersSatisfaction = 3.1, .Date2 = Date.Now, .MarketShare = 42, .Password = "123qwerty", .Profit = 4951515, .Sales = 311414134, .SalesVsTarget = 0.0277} _
}
End Function
Public Shared Function GetCompanyPublicInfo() As List(Of CompanyPublicInfo)
Return New List(Of CompanyPublicInfo) From { _
New CompanyPublicInfo() With {.AdditionalInfo = "Some Info", .City = "Glendale", .CompanyName = "Developer Express", .Country = "USA", .Email = "info@devexpress.com", .Phone = "1234567890", .Url = "www.devexpress.com"} _
}
End Function
Public Shared Function GetProductSample() As List(Of Product)
Return New List(Of Product) From { _
New Product() With {.Currency = 1000, .Category = 2, .Date = Date.Now, .MultilineText = "Line1" & ControlChars.CrLf & "Line2" & ControlChars.CrLf & "Line3", .Quantity = 321, .Text = "Sample Text", .Time = Date.Now, .UnitPrice = 1800} _
}
End Function
End Class
End Namespace

更多產品資訊及授權,歡迎“”!


年終活動火熱開啟中

標簽:

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

文章轉載自:慧都網

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
相關產品
控件
  • 產品功能:UI界面
  • 源 碼:非開源
  • 產品編號:12349
  • 當前版本:v25.1 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發 商: DevExpress 正式授權
  • ">DevExpress DXperience Subscription

    高性價比的企業級.NET用戶界面套包,助力企業創建卓越應用!

    控件
  • 產品功能:UI界面
  • 源 碼:非開源
  • 產品編號:12348
  • 當前版本:v25.1 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發 商: DevExpress 正式授權
  • ">DevExpress WinForms Subscription

    為Windows Forms平臺創建具有影響力的業務解決方案,高性價比WinForms界面控件套包。

    控件
  • 產品功能:UI界面
  • 源 碼:非開源
  • 產品編號:10740
  • 當前版本:v25.1.4 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發 商: DevExpress 正式授權
  • ">DevExpress Universal Subscription

    優秀的界面控件開發包,幫助企業構建卓越應用!

    title
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    91高清国产不卡一区二区 | 亚洲人成伊人成综 | 国产第一页屁 | 91午夜福利国产秒播在线观看 | 国产一区二区高清 | 精品自拍偷拍日韩欧美 | 国产亚洲一卡一 | 午夜在线视频影院 | 网站在线观看 | 日本深夜刺激视频 | 成人亚欧网站在 | 日韩25区中文字幕 | 性午夜视频在线观看 | 女同性另类一区二区三区视频 | 亚洲欧美日韩精品永久在线 | 国产精品爽刺激拍拍拍 | 日本www视频男人的天堂 | 电影免费在线观看中文字幕 | 欧美激情精 | 国产片婬 | 欧美一区二区精品系列在线观看 | 最新中文字幕 | 欧美性爱一区二区 | 一区二区三区日本在线视频免费 | 精品国产高清自在线 | 日本精品欧美一区二区三区 | 欧美激情一区二区三区牲牛牛 | 精品国产免费一区二区三区香 | 国产精品福利免费在线 | 国产成在线观看免费视频成本人 | 日韩精品一区二区三区不 | 欧美激情国产在线 | 岛国一区二区三区 | 欧美一区自拍一区偷拍一区 | 又污又爽又黄的网站 | 亚洲一区免| 国产私拍福利精品视频推出 | 成年人视频网站 | 免费国产又色又爽又黄的视频 | 精品国产一区二区在线观看 | 亚洲国产精品特色大片观看完整版 | 又粗又紧又湿又爽a视频 | 精品免费看一区二区三区 | 99精品国产高清一区二区 | 国产亚洲精品日韩综合网 | 17p密泬18p | 亚洲高清中文 | 欧美va| 日本在线视频一区二区免费 | 九九视频在线观看免费 | 日韩在线观看自拍网址视频免费 | 精品国产高清一区二区三区人 | 国产黄大片在线视频 | 欧美日韩另类在线专区卡通 | 性生大片免费观看性 | 国产欧美日韩丝袜精品一区 | 国产福利91精品一区二区三区 | 小苹果www在线 | 日韩精品美女视频 | 国产美女嘘嘘嘘嘘嘘 | www中文字幕亚洲 | 国产最新精品自产在线观看 | 超前点播最新电影电视剧 | 欧美日韩综合精品一二区 | 国产精品亚洲产品一区二区三区 | 无人在线观看视频高清播放 | 免费人成在线蜜桃视频 | 国产香蕉在线观 | 国语自产偷拍精品 | 欧美日韩国产精品免费观看 | 欧美日韩一区二区高清不卡 | 日韩经典欧美国产 | 国产又猛又黄又爽在线视频无 | 日韩在线欧美网 | 日韩国产中文字幕在线观看 | 国产美女爽到喷出水来视频 | 伊人春色 | 偷拍激情视频一区二区三区 | jizzjizz日本护士 | 欧美中文字幕在线视 | 99国产精品一区二区含羞草 | 日本在线观看免费人成视频色 | 最新国产精品拍自在线观看 | 三年片在线观看免费播放大全电影 | 99一区二区三区国产热视频在线 | 欧美黑人 | 欧美一区二区三区视频在线观看 | 日本亚洲中文字幕不卡 | 99re视频热这里只有精品7 | 欧美性爱之线免费观看 | 日本高清视频在线免费观看 | 欧美精品金8天国系列 | 欧美精品玖玖 | 国产精品首页熟女 | 欧美一级黄带 | 欧美国产在线看 | 国产盗摄91精品一区 | 日本α片 | 国产乱子经典视频在线 | 福利午夜伦理影院 | 国产亚洲精品hd网站 | 国产日韩美欧乱伦一区 | www.美色吧 | 国产精品亚洲αv天堂 | 免费看成年视频在线入口完整版 | 日本亚洲午夜电影 | 日本一道一区二区免费看 | 拍拍拍国产美女午夜视频 | h片在线播放免费 | 1000部夫妻午夜免费 | 大地影院mv在线观看视频免费 | 免费va国产高清大片在线 | 亚洲熟女乱色一区二区三区 | 日本成本人片视频免费 | 国产福利爱福利微拍视频 | 国产精品亚洲专一区二区三区 | 国产美女一级a视频欧洲 | 欧美日韩第一区 | 精品国产免费第一区 | 国产乱码精品一区二区三区播放 | 国产精品一区二区三区免 | 国产每天更新视频在线 | 国产a一级| 国产精品爽爽va在线 | 欧美日产国产 | 好吊色在线免费 | 百花视频 | 日韩亚洲第一页 | 日本二区在线中文字幕 | 日韩在线一区二区三区免费视频 | 92看片淫 | 国产欧美在线视频免费 | 国产一区二区三区精品综合 | 国产aⅴ视频一 | 国产精品三级在线播放 | 午夜男女羞羞爽爽爽视 | 国产视频一区在线一区在线看 | 国产欧美v欧美v在观看 | 亚洲国产一区二区三区在线 | 欧美成视频无需播放器 | 欧美一区日韩二区 | 国产欧美日韩在线视频观看 | 国产高清日韩精品欧美激情 | 香蕉免费一区二区三区 | 91午夜激情| 国产suv | 午夜性又黄又爽免费看尤物 | www中文字幕亚洲 | 老司机深夜免费影院入口 | 在线成人国产公开视 | 在线午夜福利频在线播放 | 星光影院| 粗大的内捧猛烈进出在线视频 | 日韩欧美一区二区三区永久免费 | 91丝袜足 | 国内自拍一区二区三区 | 日韩一区二区www | 国产精品亚洲一区二区三区在线 | 日本国产美国日韩欧美 | 最新91精品老司机在线 | 国产一级一片免费播放 | 日本国产欧美 | 日本玖玖资源在线一区 | 99精品在线国产观看搜 | 五月丁香婷婷综合影院 | 国产在线欧美一区二区 | 日韩v手机在线免费观看亚洲 | 国产亚洲精品aa在线观看 | 91制片一二三专区亚洲 | 亚洲色偷精品一区二区三区 | 欧美在线亚洲 | 欧美性黑人极品hd另类 | 国产在线精品专区 | 日本一本专区一区二区三区 | 欧美69成人| 欧美乱码精品乱码一区二区三区 | 成人国产精品秘在线观看免费 | 国产日韩欧美在线 | 国产日产综合综合 | 精品国产日韩亚洲一区在线 | 欧美中文幕 | 精品日本永久免费网站 | 欧美日韩一区视频导航 | 日本深夜刺激视频 | 日韩精品在 | 欧美第一页码专区一二区 | 国产欧美日韩综合精品无毒 | 国产女与黑 | 日韩专区一中文字目一区二区 | 亚洲欧美综合视频 | 国产香蕉国产精品偷在线观看 | 梦乃爱华作品在线观看播放 | 日韩欧美亚欧在线视频 | 欧美日韩免费手机在线 | 韩国大片 | 国产乱理伦片在线午夜观看 | 日韩午夜免费观看 | 国产最新进 | 国产欧美日韩综合精品区一区二区 | 日韩一区二区三区视频在线观 | 欧美性受一区二区三区 | 亚洲精品偷 | 国产大片b站免费观看推荐 国产成在人线在线播放 | 国产大片特黄高清视频 | 国产精品自在线拍国产下载 | 亚洲天堂色在线 | 女人一级特纯黄 | a视频免费在线观看福利 | 欧美日韩国产精品自在自线 | 激情刮伦小说目录 | 国产三区四区五 | 国语自产偷拍精品视 | 国产日韩制服丝袜在线第一页 | 亚洲精品网址在线观看 | 亚洲高清在线看 | 免费视频在线观看cc | 亚洲一二三四中文字幕 | 欧洲成人精品 | 国产乱码一区在线观看免费 | 国产老熟女狂 | 日韩男女性爱视频 | 日韩制服丝 | 成年女人黄小视频 | 色偷偷人人澡人人添老妇人 | 日产综合欧美一区二区 | 宅男色影视亚洲人在线 | 精品欧美日 | 国产精品福利资源在线 | 天天天天躁天天爱天天碰2025 | 欧美亚洲国产一区在线观看网站 | 国产青草精 | 国产自产精品一区 | 欧美激情视频在线免费观看 | 黑人巨大性欧美一区二区三 | 亚洲aⅴ欧洲国产aⅴ | 欧美日韩加勒比一区二区三区 | 精品国产欧美一区二区三区成人 | 99视频精| 蜜臀精品 | 日韩成人国产精品视 | 亚洲人成网址在线播放 | 欧美精产国| 不卡中文字幕 | 亚洲日韩天堂在线 | 两个人的免费完整版中文字幕 | 99精品免费视频在线观看 | 97在线播放 | 精品精品国产免费看不卡 | 日本大片电影 | 国产精品露脸国语对白99 | 国产亚洲综合区成 | 色综合中文字幕色综合激情 | 老熟女老太婆爽兰州露脸 | 国产欧美日韩中文字幕 | 国产乱码在线精品可播放 | 手机在线看片 | 欧美日韩无线码在线观看 | 国内女人喷潮视频免费观看 | 亚洲国产精品日韩专区a∨ 精品深夜寂 | 天堂中文а | 精品国产柚木在线观看 | 欧美国产在线精品一区二区 | 最近日本韩国观看 | 日韩亚洲欧美综合 | 乱伦国产影视欧美 | 日本一视频一区视频二区 | 欧美日韩国产精品视频 | 欧美日韩精品一区二区另类 | 亚洲美精品二区性爱 | 国产a∨国片精品青草视频 韩国精品一区二区三区在线 | 桃花色综合影院 | 国产高清乱理 | 国语自产偷拍精品视频偷拍 | 美日韩天天躁夜夜爽天天看 | 自拍影视亚洲高清 | 欧美日韩综合精品一二区 | 国产日韩精品a | 国产欧美一级在 | 成人精品一区二区免费看 | 亚洲欧美色一区二区三区 | 欧洲女同免费视频网站 | 都市激情第一页 | 成在线人永久免费视频播放 | 日韩超燃电影院免 | 亚洲日韩乱码中文字幕 | 中文乱码字幕在线观看播放 | 欧美日韩在大午夜爽爽影院 | 又大又粗又硬又爽 | 99看片| 国产人在线成免费视频 | 日本96在线精品视频免费观看 | 九九精品国产99精品 | 66lu国产在线观看 | 国产精品黄日韩成人黄亚洲 | 国产在线高清网址导航 | 欧美综合婷婷欧美综合五月 | 国产一级h片普通话在线观看 | 国产精品三级国产电影 | 日本亲子乱在线播放 | 美女视频黄频a | yy4080国| 精品国产品香蕉在线观 | 国产精品视频第一区二区三区 | 一区二区無碼在線觀看 | 电视剧热播大 | 国产精彩乱子真实视频 | 日本伊人网在线观看 | 日本肥老熟hd| 国产尤物在线视精品亚洲 | 99国产综合视频在线播放 | 丰满多水的 | 99视频精品全部品全正 | 亚洲欧美日韩另类精品一区二 | 国产剧视频在线播放 | 国产午夜福利在线观看污 | 国产馆精品推荐在线观看 | 精选亚洲一区二区三区 | 日本黄页网| www.五月天激情 | 国产在线观看91精品不卡 | 国产一级二级三级网站 | 国产va小视频在线观看 | 欧洲亚洲精品免费 | 精品无人乱码区1区2区3区 | 欧美日本综合一区二区三区 | 日本一卡2卡三卡4卡网站 | 日本在线xxxx | 国产午夜福利片一区在线观看 | 动漫美女无 | 中日韩高清无专码 | 国产一区二区在线观看网站 | 野花精品| 国产免费一级高清淫日本片 | 人成免费 | 国产伦精品一区二区三区视 | 6热视频欧美精品日韩 | 国产在线精品国自产拍影院午夜 | 国产一区二区三区不卡在线看 | 青青草自产拍国产精品 | 一本一本 | 亚洲视频一区二区 | 国内美女91福利在线观看 | 亚洲国产欧美日韩精品 | 日产精品区至六区在线 | 国产一区二区三区四区五区 | 精品福利一区二区三区精品 | 国产成a人片在线观看视频99 | 日韩精品免费一区二区三区高清 | 欧美精品a∨在线观看 | 免费高清电影影视大全 | 欧美日韩一区精品在线 | 日韩中文在线观看视频 | 国产在线高清网址导航 | 成年人在线视频第一页 | 国产欧美日韩另类精彩视频 | 日韩一级视频 | 请放心下载! | 国自产拍偷拍福利精品免费 | 国产精品视频网站456 | 丁香伊人 | 日韩国产欧美制服中文 | 人免费va视频综合网 | 亚洲v日韩v欧美在线 | 国产福利免费观看v | 国产+亚洲+制服 | 99精品偷拍视频一区二区三区 | 国产真实伦 | 日本a优不卡在线播放 | 国产精品不卡一区二区 | 涩涩欧美 | 成人一在线视频日 | 中文成人 | 在线观看亚洲人成网址 | 精品精品欲天堂导航 | 亚洲综合色区在线观看 | 午夜一区一品日本 | 国产一级变态a视频 | 12孩岁女a处破娇小 欧美午夜色淫网 | 成人免费又黄又爽视频 | 中文字幕一区二区三区四区五区 | 国产精品日韩在线观看一区二区 | 日本aa大片在线播放免费看 | 国产精品网站在线观看 | 在线观看国产精品一区 | 丰满岳疯狂做 | 日韩精品一区二区三区大桥未 | 欧美视频1314激情一区 | 国产欧美国产精品第二区 | 在线第一页 | 欧美乱妇高清免费96欧美乱妇高 | 俺去俺来也在线观看 | 男人本色国产在线综合 | 亚洲欧美日韩一区二区在线观看 | 国产精品视频色拍拍 | 国产精品午夜国产小视频 | 老司机深夜免费影院入口 | 中文字幕巨大乳在线看 | 国产精品综合一区 | 国产精品5 | 日本道精品一区二区三区 | 老司机精品一区在线视 | 色综合综合色 | 国产精品综合 | 亚洲欧美综合一区二区三区黄大片 | 欧美日本一区激情视频 | 国产成a人亚洲精∨ | 99国产精品这里只有精品 | 亚洲国产精品sss在 日韩欧美国产精品91 | 吃瓜网黑料大全 | 97色色五月天 | 欧美日韩不卡合集视频 | 正在播放国产乱子伦视频 | 99tv无 | 国产真实自在自线免费精品 | 亚洲综合色一区二区 | 国产伦一区二区三区蜜桃 | 国产另类日韩制 | 免费动漫在线观看 | 欧美a欧美乱码一 | 国产精品一区二区久 | 国产欧美一区二区樱花在线观看 | 国内精品自国内精品自线电影 | 对白精彩 | 高清一区二区三区 | 成人午夜亚洲精品无 | 精品91视频网站 | 国产精品卡1卡2卡3网站 | 在线亚洲欧美制服中文字幕 | 国产成本人三级在线观看网站 | 精品国产免费第一区 | 国产综合这里只有精品 | 亚洲国产精品一区二区色99 | 精品免费精品 | 在线观看国产一级 | 日韩精品国 | 国产大码无尺度视频在线 | 亚洲高清aⅴ日本欧美视频 亚洲色一色噜一噜噜噜人与 | 中文字幕日产熟女乱码 | 国产乱码亚洲日韩欧美乱码 | 美女视频写真网站 | 国产亚洲精品高清片在 | 国产综合精品一区 | 国产妇乱子伦视 | 欧美激情一区二区三级高清视频 | 日韩精品一区二区三区中文字幕 | 99精品视频一区二区三区 | 在线精品亚洲一 | 国产精品香蕉在线一区二区 | 国产又黄又爽刺激视频 | 国产voyeur精品偷窥222 | 精品一区二区三区成人精品 | 欧美一级国 | 99视频精品全国在线观 | 日本黄一级日本黄二级 | 国际国内自拍偷拍视频摄影 | 国产a在视频线精品视频 | 欧美日韩亚洲一区二区三区 | 最近中文字幕高清字幕在线视频 | 日韩欧美精品在线观看 | 成人免费观看做爰视频胸大 | 欧美疯狂| 国产精品三级不卡电影 | 日韩精品国产一区二区在线 | 欧美日一区二区三区 | 欧美性十八变态另类 | 亚洲一区二 | 在线永久观看视频网站免费 | 亚洲欧洲国产码专区在线观看 | 日韩国产一级一区精品 | 日本欧美一区二区三区免费 | 亚洲欧美人成综合导航 | 91羞羞网站 | 91精品综合 | 韩国v欧美v亚洲v日本v | 人妖和人妖互交性xxxx视频 | 日本乱码视频中文字幕亚洲一区 | 在线观看国产色一二三区 | 中文字幕一区二区三区四区 | 在线中文字幕 | 国产精品日韩综合图片 | a欧美日韩高清在线播放不卡 | 日韩在线中文字幕 | 欧产日产国产精品精品mp4 | 国产中国三级在线视频 | 视频一区二区三区在线 | 国产一区二区三区四区五区加勒 | 日本免费不卡高清网站视频 | 国产在线观看欧美乱码 | 欧美在线国产精品 | 欧美日韩精品一区在线播放 | 欧美中文字幕人人视频 | 国产在线精品第一区香蕉 | 国产精品福利在线72国 | 国产自在自线精品午夜视频 | 精品真实国| 国产精品看 | 国产在线视精品在亚洲 | 日本高清天码一区 | 国产乱码精品一区二区三区香蕉 | 国产婷婷 | 在线亚洲精品专区 | 欧美三级成人精品在线播放 | aa视频观看网站 | 欧美一级韩国一级日韩一级 | 最新电视剧免费在线观看 | 日韩怡红院亚洲精品二区 | 国产六月婷婷爱在线观看 | 日韩欧美一级一中文字幕 | 国产自在线观看免费视频 | 精品熟女碰 | 成全电影大| 欧美日韩乱一区二区 | 丝袜视频国产一区 | 精品国产理论在线进入 | 国产ts系列紫苑视频在线观看 | 国产爽片在线观看 | 国产女女互摸互慰在线观 | 中文字幕专区 | 放荡老师张开双腿任我玩 | 欧美一区二区精品 | 日韩网友自拍区 | 制服丝袜国产精 | 乱仑图片 | 日本一夲道dvd在线 国产精品不卡免费视频 | www.妞干网.com | 免费高清影视资源 | 亚洲欧美国产日韩在线观看 | 伊人春色| 中文字幕一区二区三区四区在线 | 性xxxx欧美老妇胖老太性多毛 | 成人深爱激情综合网 | 蜜桃成熟时33d | 国产啪精品视 | 欧美性色欧美a在线视频 | 91青青青 | 午夜电影免费在线观看 | 91国语精品自产拍在线观 | 日韩欧美一区二区三区综学生 | 中文亚洲欧美日韩无线码 | 亚洲国产不卡一区二区三区 | 加勒比综合免费不卡在线观看 | 国产精品欧美亚洲韩国 | 欧美日韩在线精品一区二区 | 国产精品自在在线香蕉 | 国产福利短视频在线播放 | 成人字幕网视频在线观看 | 欧美yjizz视频网mht | 日韩欧美亚洲大片 | 欧美日韩一区二区三区 | 国产视频美女精品福利社 | 午夜福利在 | 年轻的母亲4韩剧免费中文版 | 手机看片日韩国产一区二区 | 国产原创精品国产专区 | 爽了在线视频 | 永久入口 | 九九99亚洲精品 | 欧美日韩网站在线观看 | 在线观看欧美a级精品视频 欧美一级在线观 | 亚洲线精品一区二区三区四区 | 日本1区在线观看 | 在线精品亚洲一区二区绿巨人 | 免费电影在线观看 | 国产欧美产日产综合在线 | 欧美日韩高清片在线观看 | 日韩成全视频观看免费观看高清 | 日韩日韩日韩日韩精品 | 国内美女91福利在线观看 | 香蕉一区二区在线观看 | 日本免费影片一区二区 | 一区二区 | 国产卡戴珊在线根本喂不饱2 | 免费无线乱码不卡一二三四 | 欧美黑人疯狂性受 | 91成人午夜性a一级真人片 | 日韩欧美精品视频在线观看 | 亚洲欧美综合色区 | 国产精品丝袜美腿在线 | 欧美特黄特色三级视频在线观看 | 女性高爱潮免费有 | 国产91尤物在线观看互 | 看日韩精品视频在线观看 | 成年片色大黄全免费网站观看 | 亚洲人成色77777在线观看 | 国产小视频免费在线观看 | 欧美丰满大 | 欧美国产精品一级二级三级 | 久而欧洲野花视频欧洲1 | 国产亚洲tv在线观看 | 亚洲视频一区二区三区四区 | 成人欧美一区二区三区在线 | 日韩精品另类天天更新影院 | 国产综合精品一区二区青青 | 国产偷国产偷亚洲高清日 | 图片区小说区激情区偷拍区 | 国产精品天天天天影视 | 成人专区一区二区三区四区 | 国产精品香蕉在线的人尹人 | 国产亚洲精品高清片在 | 欧美激情 | 国产精品精品国内自产拍视频 | 91精品国产手机在 | 国产高清在线精品一区app | 视频一区在线观看 | 青青河边草高清免费版新闻 | 158国产手机视频大全 | 亚洲欧美日韩中文二区 | 国产啪视频免费观看视频 | 99在线视频播放 | 最近免费中文字幕视频高清在线看 | 欧美激情全球免费视频 | 91自产拍在线观看精品 | jizzjizz丝袜老师 | 日本中文字幕乱码专区 | 97午夜理论电影影院 | 国产92成人| 精品孕妇一区二区三区 | 日韩在线一区二区三区免费视 | 天天综合日韩7799 | 亚洲欧美日韩在线一区二区三区 | 国产肥熟女一区二区三区 | www.亚洲欧美 | 日本一卡2卡三卡4卡网站 | 成人国产一区二区 | 精品视频资源 | 欧美自拍日韩高清 | 日韩精品o欧美精品亚洲精品 | 爱如潮水视频在线观看 | 黄工厂精品视频在线观看 | 菠萝蜜视频在线观看免费 | 国产欧美日韩另类一区乌克兰 | 国产精品免费视频观看拍拍 | 欧美肥妇bwbwbwbxx | 91精品最新国自产拍在线观看 | 欧洲亚洲视频 | 91丝袜美腿高跟国 | 白白发布精品视频在线观看 | 国产91原创视频 | 国产在线精品50页 | 国产太嫩了在线观看 | 欧美日韩加勒比一区二区三区 | 中文有码国产精品 | 日本成年人的色色爱 | 欧美精品一区二区三区四 | 91视频免费看 | 欧美视频好看站日韩国产 | 国产网友自拍一区 | 福利社午夜影院 | 美女丰满精品 | 欧美丰腴丰满大屁 | 国产亚洲欧洲aⅴ综合一区 中文字幕日韩 | 国产在线黃 | 亚洲一区二区三区在线观看蜜桃 | 国产手机精品一区二区 | 3男s调| 国产日韩一区二区免费在线观看 | 宅男午夜成年影视在线观看 | 97超视频在线观看视频在线 | 国产亚洲精aa在线观看不卡 | 国产激情澎湃视频在线观看 | 日本老妇人乱xxy | 日韩中文字幕精品视频在线 | 精品国产a毛 | 99精品视频| 日韩一区二区三区在线网页 | 国产日韩电影一区二区 | 91福利| 国产小电影在 | 国产高清中文字幕 | 欧美精品一区二区男同专区 | 亚洲国产中文字幕在线观看 | 91探花国产综合在线精品 | 国产精品婷婷午夜 | 国一产区视频 | 日本卡2卡3卡4卡5卡 | 97超级碰国产一区二区 | 国产在线成人一区二区 | 免费99精品 | 午夜视频在线观看国产 | 欧美精品二区三区四区 | 日本播放一区二区三区黑人 | 国内另类视频一区二区三区 | 在线观看成人国产精品 | 欧美日产亚洲国产精品 | 性午夜视频在线观看 | 99精品视频在线视频免费观看 | 国产一级淫片视频免费看 | 亚洲国产精品综合一区在线 | 日韩一级在线视频 | 男人插曲女人视频软件 | 亚洲中文字幕乱码熟女在线 | 天堂视频| 久操免费在线视频 | 亚洲中文字 | 欧美精品日韩精品一卡 | 精品国产日韩亚洲一区二区 | 国产免费久| 精品理论片a约人 | 热播电视剧电影高清免费在线观看 | 秋霞人成在线观看免费视频 | 国产办公室沙发系列 | 日本乱亲伦视频中文字幕 | 无人区一码二码三码四码区 | 中文字幕精品亚洲一区 | 91精品福利自产拍在线 | 337人体做爰大胆视频 | 午夜看片a福利 | 欧美、另类 | 国产极品美女视频福利 | 精品欧美一区二区三区四区 | 精品午夜国产福 | 国产一区二区三区在线电影 | 国产黄a一级二级三级看三区 | 亚洲日本va中文字幕 | 欧美性大战 | 欧美综合精品一区二区三 | 国产精品福利电影一 | 人物桶机免费漫画大全 | 欧美日韩视频在线播放 | 日本在线天堂 | 日本欧美国产婷婷 | 亚洲精品国产精品国自产网站 | 亚洲欧美日韩制服另类 | 国产女精品 | 91尤物国产网红尤物福利 | 精品国产高清免费在线观看 | 91人成亚洲| 三级网站视频 | 91大神在线视频免费观看 | 91精品在线免费观看 | 亚洲国产国语自产精品 | 国产一区二区三区美女图片 | 国产精华 | 亚洲一级二级三级四级 | 欧美综合乱码一区二区三区 | 成年人网址在线观看 | 国产精品日韩在线一区 | 国产亚洲精爱浪 | 国产欧美精品 | 欧美日韩三区 | 国产免费观看激情 | 全部视频欧美日韩在线无人 | 日韩一区二区免费 | 99久re热视频这里只有精品6 | 免费观看色色影视特级 | 欧美精品一区 | 另类综合视频在线 | 日本视频一区在线播放 | 757国产午夜福利在线播放 | 亚洲国产剧情一 | 成人看的羞羞视频免费观看 | 成a人v在线观看 | 99视频都是精品热在 | 91色在线播放 | 精品国产影片在线观看 | 爽妇网国产精品 | 亚洲人午夜射精 | 国产高清在线丝袜精品一区 | 老子午夜伦理不卡一级电影 | 国产亚洲免费视频 | 尤物视频免费观看 | 国产99精品在线观看 | 国产精品亚洲片在线观看不卡 | 免费簧网站永久在线播放国产 | 欧美日韩中文在线视频 | 96福利国产在线 | 国产精品一区韩国电影日本 | 激情精品一区二区在线观看 | 亚洲国产精品第一区二区 | 日韩欧美中文字幕在线观看一区 | 国产精品另 | 日本高清不卡aⅴ免费网站 韩国三级精品 | 亚洲男人夜夜精品电影 | 福利一区福利二区 | 免费国产人成网站在线播放 | 国产日韩亚洲不卡高清在线观看 | 性欧美xxxxⅹoooo3d画 | 女人脱精光一清二楚图片 | 911国产自产精品a | 日产精品一卡2卡三卡4卡乱码 | a级片免费播放 | 亚洲国产vv | 麻花豆传媒mv在线观看网站 | 国产亚洲欧美一区二区三区 | 国产精品不卡一区二区三区 | 少女的第一的视频 | 欧美在线观看综合网另类 | 国产一区二区精品夜夜嗨 | 日本不卡高清视国 | 日韩特级 | 欧美手机手机在线视频一区 | 亚洲卡通欧美制服中文 | ⅴ人在线观看 | 成人影视免 | 天堂在线亚洲精品专区 | 欧美日韩综合aⅴ图片 | 国产一区二区四五区在线视频 | 欧美日韩亚洲国产综合在线观 | 日韩欧美在线播放视频 |