91高清国产不卡一区-91高清国产在线观看-91高清免费国产自产-91高清视-91高清视频-91高清影视-91高清影视在线观看-91高清影院

半岛外围网上直营

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

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

概述:本文主要介紹如何使用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@ke049m.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.5 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發 商: DevExpress 正式授權
  • ">DevExpress Universal Subscription

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

    title
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    久久久综合网 | 国产在线视频一区二区不卡 | 国产黄色免费观看 | 班长坐在我的腿上娇喘 | 中文字幕AV久久一区二区 | 亚洲欧美综合在线天堂 | 最近免费中文字幕大全高清MV | 欧美视频在线观看xxxx | 亚洲卡一卡2卡三卡4麻豆 | 久久影院国产 | 亚洲区中文字幕在线不卡电影 | 亚洲在线视频自拍精品 | 九九热久久只有精品2 | 美丽姑娘国语版免费看 | 亚洲国产欧美在线人成精品一区二区 | 久久无码人妻中文国产AV苍井空 | 成年美女xx网站高清视频 | 国产无遮挡A片又黄又爽 | 久久国产精品二区99 | 免费看国产曰批40分钟 | 麻豆一区二区三区蜜桃免费 | 天天影视色欲 影视 | 亲胸吻胸添奶头GIF动态图免费 | 午夜伊人 | 视频一本大道香蕉久在线播放 | 国产一国产a一级毛片 | 色欲AV亚洲午夜精品无码 | 日本不卡三级 | 国产人妻人伦精品无码麻豆 | 九九精品在线视频 | 久久只有这精品99 | 日本黄色三级视频 | 97色在线视频观看香蕉 | 婷婷开心色 | 男插女爽到内射的视频 | 国产精品久久国产三级国不卡顿 | 免费观看中文字幕午夜理论 | 四虎影视免费观看免费观看 | wwwav视频| 好久被狂躁A片视频无码免费视频 | 午夜成人影视神马 | 日本视频黄色 | 亚洲色无码A片一区二区潘甜甜 | 插吧插吧综合网 | 欧亚洲精品一区中文字幕拾精者 | 黑人外教啪啪中国女留学生 | 欧美黄页网 | 色欲人妻AV久久无码精品 | 欧美69xxxx| 欧美伦理片美亚电影网 | 亚洲一区二区观看播放 | 花房姑娘HD版在线观看 | 色欲综合视频天天天 | 日本精品一区二区在线播放 | 亲胸揉胸膜下刺激视频午夜小说 | bt品色堂 | 性夜黄A片爽爽免费视频 | 欧洲欧美人成视频在线 | 午夜寂寞影视 | 麻豆国产巨作AV剧情 | 色噜噜狠狠狠狠色综合久一 | 我是唱作人第二季免费 | 国产精品白浆一区二小说 | 国产久爱青草视频在线观看 | 第一福利视频导航 | 么么哒电影大全免费观看 | 又粗又大内射免费视频小说 | 日本免费在线 | 91精品福利视频 | 国产三级一区二区 | 热思思久久| 午夜AV亚洲一码二中文字幕青青 | 黑人vs亚洲人在线播放 | WWW国产内插视频 | 大炕上的肉体乱第2部分 | 亚洲A片永久精品无码APP | 国产精一品亚洲二区在线播放 | 日本高清色情高清免费 | 国产孰妇精品AV片国产m3u8 | 欧洲色情三级欧美三级视频 | 三区综合是哪三区 | 女性人体aa欣赏 | 波多野吉衣在线视频 | 久久久97丨国产人妻熟女 | 综合久久一区二区三区 | 熟女人妻的味道 | 黄网站在线观看视频 | 你懂的在线观看视频 | 日本高清一二三不卡区 | 日本无码一区人妻免费视频 | 亚洲精品无码成人A片在线古代 | 亚欧色一区W666天堂 | 日韩成人在线网站 | 久久久国产高清 | 99re久久精品在线播放 | 精品高潮呻吟AV久久无码 | 国产成人啪午夜精品网站男同 | 真大真粗真爽使劲好猛小说网 | 黄色网免费观看 | 日本aⅴ网站 | 成人在线免费电影 | 人成午夜免费视频在线观看 | 8848hh四虎 | 黑人xxxx精品| 色网络| 青青草免费国产线观720 | 日韩精品www | 丝袜视频网在线观看 | 色妺妺在线视频 | 美女解开胸衣露出奶头的游戏 | 99热只有 | 亚洲专区视频 | 好湿好紧快点再深一点动图 | 粉嫩大学生无套内射无码卡视频 | 天天干天天舔 | 扒开粉嫩的小缝喷出水 | 亚洲最大成人网色 | 欧美成熟毛茸茸复古 | 色搜网站 | 在线看免费观看AV深夜影院 | 曰本女人一级毛片看一级毛 | 久久久亚洲天堂 | 尤物一区 | 青丝影院免费观看 | 久久久久女人精品毛片九一 | 国产精品毛片在线大全 | 国产精品99亚发布 | 午夜性色| 2022精品福利在线小视频 | 国产美女主播一级成人毛片 | 国产亚洲产品影市在线产品 | 在线日本中文字幕 | 欧美fxxx| 亚洲 欧美 校园 春色 小说 | 四房播播最新地址 | 欧美日韩久久久精品A片 | 国语乱码中文字幕 | 久久视频在线视频精品 | 99re5在线精品视频热线 | 国精品日韩欧美一区二区三区 | 夜夜操夜夜骑 | 久久99精品久久只有精品 | 国偷自产AV一区二区三区动漫 | 长篇YIN荡乱合集小说免费TXT下载 | 雯雅婷4去码截图 | 色网在线 | 亚洲国产中文字幕在线视频综合 | 国内精品 大秀视频 日韩精品 | 拉风色影院 | 日韩少妇内射免费播放 | 精品videosex性欧美 | 欧美视频一区二区三区在线观看 | 国产一区二区在线观看免费 | 国产AV亚洲精品久久久久软件 | 波多野结衣在线影视免费观看 | 怡红院成人在线 | 一级做a爰片久久免费 | 抖抈APP| 欧美激情bd高清在线播放 | 成人黄色一级片 | 国产成人影视 | 国产在线精品一区二区 | 天堂网资源在线 | 四虎网站| 91宅男噜噜噜66在线观看 | 日本黄页免费 | 日韩成人免费在线视频 | 波多野结衣在线一区 | 中文字幕精品在线视频 | 99久久免费看少妇高潮A片特黄 | 一级毛片免费观看不卡的 | 色综合精品久久久久久久 | 天天做天天干 | 亚洲 欧美 小说 图片 视频 | 污视频app网址丝瓜视频 | 天天色天天干天天射 | 欧美激情视频在线观看一区二区三区 | 午夜网站在线观看免费网址免费 | 午夜影院视费x看 | 成人午夜又粗又硬又长 | 天天色综合天天 | 日韩色情无免费高清在线视频 | 丁香六月综合网 | 91天堂在线视频 | 大色影院 | 黄页大全在线观看 | A片娇妻被交换粗又大又硬V | 97色情在线观看免费高清 | 久久精品久久精品 | 伊人狠狠丁香婷婷综合尤物 | 国产精品伦一区二区三级视频 | 一本色道久久爱88AV俺也去 | 色综合综合色综合色综合 | 成人免费播放视频777777 | 亚洲综合丁香婷婷六月香 | 自拍视频在线观看亚洲福利 | 桃子视频直播高清在线 | 日本一区视频 | 熟女人妻一区二区三区视频 | 强行挺进朋友漂亮的娇妻作者 | 公和我做爽死我了A片口述 公交车上无耻挖阴 | 亚洲牝户毛茸茸 | 国产精品资源在线观看 | 欧美亚洲动漫 | 欧美日韩成人高清色视频 | 东京热无码中文字幕av专区 | 韩国精品一区二区三区四区五区 | 中文字幕亚洲一区婷婷 | 饥渴少妇A片AAA毛片小说 | 亚洲精品久久无码AV片亚洲 | 久久不卡影院 | 99精品久久精品一区二区 | 免费观看黄色一级片 | 老司机午夜精品视频播放 | 精品久久久久久久一区二区伦理 | 91精品久久久久久久久久小网站 | 黑人两根一起强进30p | 我的战舰能升级动漫免费观看 | 视频色www永久免费 视频黄页在线观看 | 和日本免费不卡在线v | 亚洲男人97色综合久久久 | 小蝌蚪视频app无限看 - 丝瓜ios视频丝瓜视 | 91精品国产9l久久久久 | 欧美亚洲天堂 | 免费一级欧美大片视频在线 | 男女性高爱麻豆 | 日韩一道本 | 一级毛片美国 | 嗯真紧又湿又软 | 我和丰满岳疯狂做爰 | av亚洲国产小电影 | 国产精品人人妻人色五月 | 欧美视频中文字幕 | AV日日碰狠狠躁久久躁 | 麻豆在视频线 | 中文字幕在线看 | 亚洲国产精品色情777777 | 亚洲色欲色欲WWW在线丝 | 国产综合91| 国产一在线精品一区在线观看 | 国产 jav hd | 日本免费一本天堂在线 | 日本毛片久久国产精品 | 扒开粉嫩小泬把舌头伸进去添视频 | 四虎免费最新在线永久4HU | 欧洲免费看片尺码大 | 国产一区二区三区美女在线观看 | 在线观看亚洲欧美视频免费 | 狠狠综合久久综合88亚洲 | 国产人妻无码一区二区三区18 | 精品久久久久久影院免费 | 美国一级毛片完整高清 | 99re在线观看 | 精品乱码久久久久久中文字幕 | 亚洲资源在线观看 | 朋友的人妻的滋味BD中文 | 成年网站未满十八禁毛片免费 | 亚洲午夜免费视频 | 国产人妻久久精品二区三区特 | 九九久久精品国产 | 久久国产欧美日韩精品免费 | 狠狠色丁香婷婷综合久久来 | 国产又黄又猛又粗又爽的A片漫 | 看久久 | 天天网综合 | 深夜毛片| 中文字幕一区二区三区在线播放 | 色老头性xxxx老头视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 黄色片视频免费 | 国产黄网站 | 黄网免费观看 | 人人爽久久久噜噜噜丁香AV | 成人综合亚洲欧美一区h | 一本大道卡一卡二卡三乱码 - 八 | 日本xxxxx视频免费看 | 久久综合色网 | 丰满人妻无码AV系列 | 亚洲自偷自拍另类图片小说 | 精品亚洲成A人20247在线观看 | 麻豆精品国产 | 天美传媒 高清 | 奇米网久久 | 国产区视频在线 | 丁香激情五月 | 免费一级淫片aa | 免费观看又色又爽又黄的校园 | 狠狠色噜噜 | 国产免费啪啪 | 天美在线| 国产毛片女人高潮叫声 | 波多野结衣在线观看视频 | 五月天婷婷在线观看高清 | 女主播在线观看 | 夜色贵族图片 | 手机在线毛片免费播放 | 成年人网站黄色 | 国产在线高清视频无码 | WW网站男生福利 | 久久综合中文字幕 | 欧美无人区码卡1卡2卡免费 | 中国 韩国 日本 免费看 | 琪琪色原网20岁以下热热色原网站 | 亚洲午夜电影 | 同居试爱冷少夜夜纠缠 | 无码AV免费一区二区三区A片 | 色综合久久久久 | 91在线天堂 | 日韩在线一区二区三区视频 | 一级黄色欧美 | 手机在线国产精品 | 奇米777四色 | 久久久亚洲天堂 | 亚洲卡一卡2卡三卡4麻豆 | 五月婷婷激情综合 | 九七电影院 | 88av视频在线| 婷婷五月色吧 | 国产好大好爽久久久久久久 | 国产熟妇另类久久久久婷婷 | 黄频漫画| 新版天堂中文资源8在线 | 天天躁日日躁aaaaxxxx | 色婷婷激婷婷深爱五月小说 | 人禽性xxxbbb欧美 | 97精品久久久久中文字幕 | 日本人妻A片成人免费看 | 国产情侣一区二区 | 牛牛影视精品一区二区在线看 | 天堂网www中文在线资源 | 免费做爰猛烈吃奶摸视频在线观看 | 美美哒免费高清影院在线观看直播 | 永久免费观看黄网站 | 久久午夜一区二区 | 四虎影视最新的2024网址 | 操女模特| 亚洲精品乱码8久久久久久日本 | 97视频资源 | 男人把女人桶到爽免费看视频 | 成年香蕉大黄美女美女 | 国产又黄又爽胸又大免费视频 | 操美女视频在线观看 | 色中色网 | 久久综合九色欧美综合狠狠 | 久草视频在线资源 | 柳岩老师好紧好爽再浪一点 | 欧美视频导航 | 99re8在线精品免费观看 | 韩国精品一区二区三区 | 国产极品尤物 | 在线观看亚洲一区二区 | 国产伦理一区 | 韩国三级在线高速影院 | 午夜快车神马影视 | 久久亚洲精品高潮综合色A片小说 | 国产精品久久久久久搜索 | h片在线观看免费 | 日本丰满人妻无码中文字幕 | 欧美日韩国产综合视频一区二区三区 | 国产综合成人久久大片91 | 亚洲免费影视 | 成人无码T髙潮喷水A片小说 | 国产极品JK白丝喷白浆羞羞 | 日本三级韩国三级三级a级按摩 | v天堂中文在线 | 日美韩大片高清免费观看 | 午夜亚洲福利在线老司机 | 波多野结衣全集线观看456 | 国产精品久久久久久99人妻精品 | 日本A片成人片免费视频生活片 | 欧美亚洲制服 | 抖音成长人版破解 | 亚洲国产日韩欧美高清片a 亚洲国产日韩精品一区二区三区 | 国产精品毛片AV在线看 | 少妇被下春药玩弄A片 | 五月开心六月伊人色婷婷 | GV无套内射日本帅哥 | 里番a c g全彩 | 制服a片| 看黄免费在线 | 日韩欧美不卡在线 | 亚洲风情无码免费视频 | 免费黄色在线看 | 中文字幕人妻丰满熟女 | 嗯啊 流水噗呲h啪啪皇上双性 | 麻豆视频传媒入口 | 国产午精品午夜福利757视频播放 | 五月天婷婷激情视频 | jizzjizzjizz中国免费 | 免费黄色片网站 | 中文字乱码电影在线播放 | 精品久久久久久久无码久中文字幕 | 91po国产在线精品免费观看 | 热久久亚洲 | 开心成人 | 国产成人免费福利网站 | 黄页网站免费在线观看 | 黑人巨茎大战白人女40CM | 97SE亚洲精品一区二区 | 国产亚洲精品久久综合阿香蕉 | 果冻传媒 天美 麻豆 | 免费看日b视频 | 最近中文字幕在线中文视频 | www.干| 人妻少妇被粗大爽.9797PW | 狠狠干狠狠干 | 国内精品久久久久久中文字幕 | 国产亚洲精品久久久闺蜜 | 精品国产乱码久久久久软件 | 免费在线亚洲视频 | 国产色播 | 国产剧情精品在线 | 深夜福利国产 | 欧美日韩一区二区三区色综合 | 亚洲色欲色欲202477小说 | 欧美精品狠狠色丁香婷婷 | 久久精品中文騷妇女内射 | 好男人www在线社区影院 | 动漫美女脱小内内露尿口 | 久久精麻豆亚洲AV国产品 | 日本黄色免费网址 | 成人AV综合在线网站 | 欧美又大又粗又湿A片 | 久久国产欧美日韩精品免费 | 亚洲色欲色欲WWW在线成人网 | 97在线中文字幕观看视频 | 久久精品国产99国产精品小说 | 国语熟妇乱人伦A片久久 | jyzz日本| 宋徽宗是南宋还是北宋 | 国产三级做爰在线播放 | 色噜噜狠狠色综合久夜色撩人 | 亚洲精品免费在线 | 一本到在线高清观看 | 国产色情乱码久久久久一区二区 | 青草视频青年娱乐 | 亚洲精品一区二区三区四区久久 | 伊人久久波多野结衣中文字幕 | 完美世界动漫在线视频免费观看 | 日本网站在线播放 | 中文天堂最新版www官网 | 国产一区二区三区成人久久片 | 清纯 唯美 制服 欧美 动漫 | 免费观看黄色的网站 | 啊轻点灬太粗嗯太深了用力 | 久久99国产麻豆一区二区三区 | 亚洲精品久久久久久久观小说 | 蜜柚AV久久久久久久 | 97爱爱爱 | 小蝌蚪视频app无限看 - 丝瓜ios视频丝瓜视 | 国产三级日本三级美三级 | 夜夜操夜夜骑 | 九九精品久久久久久久久 | 国产美女一级视频 | 一区二区三区日韩免费播放 | 日韩成人在线视频 | 开心四播网 | 国产又粗又猛又爽又黄A片漫 | 日韩欧美视频一区二区三区 | 免费福利资源站在线视频 | 国产一级一片免费播放i | 欧美一卡2卡3卡4卡 免费 | 狠狠色噜噜狠狠狠狠91 | 黑人巨大两根一起挤进A片小说 | 欧美激情无码成人A片 | 把手戳进美女尿口里动态图 | 人久人久人久污污污精品国产 | 中文字字幕在线中文乱码 | 国产视频最新 | 日本VS中国VS亚洲看无码A | 一级国产视频 | 人人做人人爽人人爱秋霞影视 | 最好看的最新的中文字幕3 最近2019中文字幕免费 | 久久久亚洲精品一区二区三区 | 韩国18禁床震吃胸喝奶视频 | 日韩免费精品一级毛片 | 午夜福利免费院 | 婷婷爱五月 | 工口 里番 全彩 无码 | 草逼网址| nu77亚洲综合日韩精品 | 把女人弄爽特黄A大片片 | 最新精品国偷自产在线69 | 色综合天天综合网国产成人网 | 精品深夜AV无码一区二区老年 | 制服丝袜中文在线 | 蜜臀91| 91麻豆精品一二三区在线 | 91丝袜在线 | 女人爽得直叫免费视频 | 真人三十六式春交图 | 亚州色吧 | 麻豆果冻传媒2024精品传媒一区下载 | 人妻一区日韩二区国产欧美的无码 | 国产伦亲子伦亲子视频观看 | 亚洲色无色A片一区二区农夫山泉 | 日韩欧美视频一区 | 韩国三级视频网站 | 久久天天躁狠狠躁夜夜躁 | 九月丁香婷婷亚洲综合色 | 又大又粗又爽免费视频A片 又大又爽又硬的曰皮视频 又大又硬又粗再深一点 | 拍戏时滑进去了 H爽文 | 欧美日韩系列 | 国产精品久久久久久久免费 | 久久久综合九色综合中文字幕 | 狠狠综合欧美综合欧美色 | 日本a级免费 | 国师受被肉到失禁各种PLAY | 中国性受xxxx免费 | 极品少妇XXXX精品少妇偷拍 | 天天拍夜夜操 | 2020精品极品国产色在线观看 | 99久久久无码国产AAA精品 | 色丁香婷婷综合缴情综 | 男女做羞羞的事视频免费观看无遮挡 | 毛片导航| 东京热主页 | 婷婷夜色 | 精品九九久久国内精品 | 久久福利资源网站免费看 | 一级女性全黄久久生活片免费 | 亚洲天堂中文字幕在线观看 | 欧美第十页 | 日本免费一区二区在线观看 | 国产高清一级毛片在线不卡 | 97爱爱爱 | 在线免费观看波多野结衣 | 欧美一级欧美一级高清 | 又黄又爽又猛1000部A片 | 国产丰满人妻一区二区三区 | 国产成人精品高清在线观看99 | 夜夜爽日日澡人人添 | 亚洲色精品一区二区三A片 亚洲三级无码经典三级 | 日本一区午夜艳熟免费 | 国产一国产一级毛片视频在线 | 2k电影网| 热久久久久 | 国产精品自在在线午夜区app | 快播5.0.77下载 | 精品久久久久久影院免费 | 电影 国产 偷窥 亚洲 欧美 | 亚洲精品黄| 精品欧美一区二区在线观看 | 色偷偷AV亚洲男人的天堂 | 日韩aa在线观看 | 免费福利视频导航 | 欧美亚洲午夜 | 国产精品久久欧美一区 | 中文字幕 亚洲 有码 在线 | 欧美精品网址 | 成人欧美一区二区三区白人 | 国产做爰又粗又大太疼了 | 狠狠干2023 | 成人抖阴 | 福利视频一二三在线观看 | 波多野结衣 美乳人妻 | 在线成人 | 越南护士毛茸茸性 | 在线免费日本 | 91欧美一区二区三区综合在线 | 波多野结衣免费 | 黄色网址在线免费看 | 欧美变态口味重另类牲交视频 | 级R片内射在线视频播放 | 第四色播色中色 | 又黄又爽又无遮挡在线观看免费 | 最新国产在线观看福利 | 色琪琪影音先锋原网站 | 欧美综合色婷婷欧美综合五月 | 国产麻豆放荡AV剧情演绎 | 欧美激情精品久久久久久久 | 在线成人精品国产区免费 | 一色屋免费精品视频 | 国产精品久久久久久免费 | 无码激情做A爰片毛片A片小说 | 日本在线观看高清不卡免v 日本在线观看不卡 | 亚洲中文在线无码永久色情 | 工口里番ACG全彩无码下拉式 | 日韩少妇内射免费播放 | 偷看洗澡好多毛 | 最近中文字幕视频完整版在线看 | 又硬又粗进去好爽A片中字 又长又大又粗又硬3p免费视频 | 最新日韩欧美不卡一二三区 | 欧美性猛交AAA片免费观看 | 成人18在线视频播放 | 色偷偷免费视频 | 91香蕉影院 | 午夜理论电影在线观看亚洲 | 伊人yinren6综合网色狠狠 | 日韩一二区色情高清清视频 | 国产网址在线观看 | 国产福利在线观看免费第一福利 | 国产精品久久人妻互换 | 自拍 偷拍 亚洲 欧美 另类 | 日本少妇裸体做爰高潮片 | 日本大片高清免费视频 | 大片免免费观看视频播放器在线观看 | 免费在线视频一区 | 一区二区亚洲精品国产精华液 | 国产色情18一20岁片A片下载 | 最近中文字幕完整国语 | 太粗啦太硬了受不了 | 性爱免费视频 | 四虎永久免费影院在线 | 日韩国产一区二区三区四区五区 | aaaaa毛片 | 亚洲一区二区无码影院 | LINODE娇小IPHONE69 | 香港韩国日本三级 | 亚洲AV成人噜噜无码网站A片 | 国产成人精品一区二区三区影院 | 女人喷射视频在线播放你了 | 色色综合 | 日韩一区二区三区视频在线观看 | 精品国产乱码久久久久久乱码 | 在线观看免费播放黄污 | 97在线视频99播放 | 丁香花视频在线播放免费观看 | 日本一道本 | 翁熄乩伦小说翁熄性放纵 | 国产精品久久久久久久人人看 | 精品国产96亚洲一区二区三区 | 台湾一级毛片永久免费 | 337p日本亚洲 | 男人J放进女人P全黄网站 | 国产清纯91天堂在线观看 | 欧美视频在线观在线看 | 国产精品99久久久久久宅男 | 最近最新中文字幕免费高清1 | 日韩欧美一区二区三区四区 | 亚洲第一卡二新区乱码 | 久久综合九色综合狠狠97 | 午夜精品在线 | 偷看洗澡好多毛 | 好湿好紧快点再深一点动图 | 午夜精品久久久久久久爽牛战 | 大战丰满老熟妇重囗味视频 | 日产在线播放视频在线观看 | 五月天婷婷在线视频国产在线 | 波多野吉衣在线视频 | 伦理片飘花免费影院 | 四虎影视最新免费观看 | 麻豆免费国产福利视频 | 国产激情艳情在线看视频 | 国产在线永久视频 | 99亚洲精品卡2卡三卡4卡2卡 | 亚洲最稳定资源在线观看 | 中文字幕无线码国产 | 九九99热久久999精品 | 亚洲精品色情婷婷在线播放 | 久久99精品久久久久久野外 | 四虎影视在线看完整视频 | 国产99久9在线视频传媒 | 开心色99| 99久久无码一区人妻A片麻豆 | 97国产揄拍国产精品人妻 | 美女扒开下面让男生桶白浆 | 天天躁日日躁成人字幕aⅴ 天天躁日日躁aaaaxxxx | 国产成人精品久久免费动漫 | 老熟女强人国产在线播放一区 | 五月色 网站 | 亚洲欧美v国产一区二区 | 国产少又黄又爽的A片 | 天天射天天操天天色 | 国产乱对白精彩在线播放 | 美女乱子伦高潮 | 久久99九九精品免费 | 成人黄网大全在线观看 | 综合精品欧美日韩国产在线 | 欧美日韩免费在线观看 | 国产黄色大全 | 国产一区电影 | 日日碰狠狠躁久久躁77777 | 人碰人碰人成人免费视频 | 看三级毛片 | 在线天堂中文字幕 | 国产亚洲精品久久久999苍井空 | 亚洲欧美极品 | va天堂va亚洲va影视中文字幕 | 国产中文字幕在线视频 | 丁香婷婷六月综合交清 | 亚洲人成一区二区不卡 | 久久大 | 黄色网址免费看 | 偷自拍 | 四虎影视在线视频大全免费观看 | 欧美精品久久99人妻无码 | 人成乱码一卡二卡三四卡无卡六卡 | 国产黄色免费看 | 九九在线中文字幕无码 | 日本午夜视频 | 中文字幕亚洲欧美日韩2019 | 55大东北熟女啪啪嗷嗷叫 | 我和丰满岳疯狂做爰 | 蜜桃网站 | 亚洲精品久久一区二区三区四区 | 中文一级片 | a毛片基地免费全部视频 | 老师的丰满大乳奶水在线观看 | 日本高清一卡二卡三卡四卡无卡 | 天堂网一区二区 | 欧美精品久久96人妻无码 | 天堂18| 九九在线精品视频 | 99奇米a影色777四色在线观看 | 国产精品成人嫩妇 | 亚洲欧洲精品A片久久99 | 超91精品手机国产在线 | 高清有码国产一区二区 | 一本久道久久综合狠狠躁AV | 久久久久久毛片免费观看 | a久久99精品久久久久久不 | 性一乱一交一A片.看A片 | 视频一区国产 | 黄色免费在线观看网址 | 亚洲另类激情专区小说 | 国产在线免 | 国产免费看JIZZ视频 | 在线看片成人免费视频 | 波多野结衣中文字幕在线观看 | 污污的网站免费在线观看 | 毛片啪啪视频 | 宝宝影院| 无码人妻精品1国产婷婷 | 真实国产乱子伦精品一区二区三区 | 天天做天天爱天天综合网 | 亚洲在线无码免费观看 | 涩涩电影网 | 九九久久精品国产免费看小说 | 91福利一区二区 | 丰满少妇69激情啪啪无码 | 久久99久久精品97久久综合 | 国产在线观看精品一区二区三区91 | 国产亚洲精品久久久999密臂 | 欧美高清日本三级人妇 | 活大器粗NP高H一女多夫 | 91精品福利在线 | 国产亚洲精品久久久久久入口 | 狠狠色噜噜狠狠狠狠91 | 波多野结衣中文字幕久久 | 国内精品视频在线播放一区 | 九色欧美 | 久操这里只有精品 | 色综合小说网 | 国产三级日产三级日本三级 | 精品自拍视频在线观看 | 免费视频免费视频 | 大尺度很黄很肉的小说 | 少妇被躁爽到呻吟全过的小说 | bt天堂在线WWW中文 | 激情影院内射美女 | 国产日产亚洲欧美综合另类 | 免费的三级网站 | 护士97资源站共享总站 | 国产色情无码网站视频APP | 国产一国产一区秋霞在线观看 | 日本免费一本天堂在线 | 欧美性1生交XXXXX无码 | 伊人角狠狠狠狠 | 久久婷婷五月综合色丁香 | 99精品无人区乱码1区2区3区 | 疯狂揉小泬到失禁高潮在线 | 国产99精品在线观看 | 欧美激情A片久久久久久 | 亚洲中文字幕无码专区日本苍井空 | 天堂网最新 | 韩国和日本免费不卡在线V 韩国精品AV一区二区三区 | 国产精品久久久久秋霞影视 | 亚洲一卡2卡三卡4卡app | 波多野结衣久久一区二区 | 可以免费在线看黄的网站 | 日韩首页 | 国产日产欧产综合 | 日本xxxbbb0oo | AV国産精品毛片一区二区三区 | 偷拍亚洲网友图片区 | 第四色 成人 官网 | 狠狠爱在线影院 | 色天天干| 黄频网 | 亚州日韩精品AV片无码中文 | 亚洲精品久久久久久久久久无码 | 六月婷婷色 | 午夜精品久久久内射近拍高清 | 天天摸夜夜操 | 午夜色情A片成人免费视频下载 | 波多野结衣中文丝袜字幕 | 呜呜呜看看色波 | 91精品视频网站 | 久久精品毛片 | 欧美日韩一区二区综合在线视频 | 一区二区三区视频 | 国产午夜精品一区二区不卡 | 百性阁综合另类 | 国产精品婷婷五月久久久久 | 激情综合激情五月 | 69成人免费视频 | 国产AV寂寞骚妇 | 亚洲午夜精品A片久久WWW慈禧 |