日韩福利首页在线观看网站-日韩福利免费网站视频在线-日韩福利局二区视频-日韩福利-日韩二区在线-日韩二区三区四区-日韩二区三-日韩电影中文字幕

半岛外围网上直营

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
    利記足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 真人boyu·博魚滾球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 最大網上PM娛樂城盤口(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規雷火競技官方買球(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 雷火競技權威十大網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) boyu·博魚信譽足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 權威188BET足球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規188BET足球大全(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 国产精品亚洲玖玖玖在线靠爱 | 亚洲成年人影院 | 国产日韩欧美激情视频不卡 | 99色吧 | 日本韩一级二级三级 | 国产欧美日韩综合精品一区二区三 | а√天堂地址在线网 | 日韩另类在线一区二区三区 | 91情国产l精品国产亚洲区 | 欧美大片在线观看免费视频 | 午夜福利国产在 | 国产老头和美女在 | 伦理片免 | 日韩电影免费在线观看 | 99这里有精品 | 中文字幕无吗热视频 | 国产欧美日韩在线观看一区二区 | 日本中文字幕在线看 | 日本顶级rapper潮水老狼 | 国产福国产日韩欧美亚洲青青草 | 综合亚洲 | 国产性午夜视频在线观 | 拍国产真实乱人偷精品 | 欧美亚洲人成在线综合 | 在线观看成人国产精品 | 亚洲天堂2025女人天堂 | 国产精品亚洲精品五月 | 欧美日韩精品国产—区在线 | 黑人巨大性欧美一区二区三 | 精品亚洲成a人在线观看青青 | 偷偷要色偷偷网站视频 | 中文精品视 | 一区二区三区视频 | 欧美一区二区成人午夜在线观看 | 欧美日韩一区二区三区 | 成人中文乱幕日产无线码 | 欧美3571 | 亚洲第一页乱 | 日韩精品一区二区三区不卡 | 国产爽片 | 国产卡二卡三卡四卡免费网址 | 日韩国产欧美在线观 | 日本lachouch| 国产91精品一区二区 | 精品国产网红福利在线观看 | 亚洲国产在线精品国偷产拍 | 国产精品爽片 | 好吊妞人成视频在线观看 | 凹凸国产熟| 真实国产乱子伦视频 | 日本xxxx18视频在线观看 | 国产精品丝袜在线观看首页 | 国产高清晰在线播放 | 开开影院 | 国产综合亚洲免费 | 国产免费怡红院视频 | 国产91露脸在线播放 | 国产自产21区最新资源 | 最新电影电视剧在线观看 | 亚洲午夜国产精 | 亚洲第一夜页 | 日韩国产不卡在 | 国产精品久免 | 欧美日韩精品一区二区三区四区 | 国产手机精品自拍视频 | 97超级碰国产一区二区 | 国产日产高清欧美一区等 | 国产精品国产精品专区 | 国产精品jiz | 精品在线观看一区 | 国产亚洲日韩网曝欧美精品 | 欧美日韩国产精品选 | 国产一级做a爰片在线看免费 | 日韩高清va视频 | 国产亚洲精品片 | 日韩激情视频在线 | 国产精品丝袜美腿在线 | 亚洲国内精品 | 91精品国产电影 | 日韩成全视频观看免费观看高清 | 国产尤物一区二区在线播放 | 男女视频诱| 国产欧美日韩一区二区三区视频 | 国产欧美国产综合每日更新 | 东营市:韩国美女vip | 片免费看| 国产区成人精品视频 | 国产综合精品一区二区三区 | 日韩精品在线一区二区 | 成人中文乱幕日产无线码 | 国产精品高清尿 | 99久视频只有精品2025 | 亚洲人午夜射精 | 国产又黄又猛又粗又爽的a 人人影视网 | 国产青草精 | 国产在线啊v观看不卡 | 国产+激情四射 | 欧美一区二区三区免费 | 国产又粗又大又黄的视频 | 美女视频在线永久免费观看 | 国产精品青青青高清在线 | 天天做天天 | 青青河边草高清免费版新闻 | 成全在线观 | 国产玉足脚交极品网站 | 日韩欧美中文字幕一字不卡 | 成年免费大片黄在线观看岛国 | 国产精品欧美日韩视频一区二区 | 99精品欧美一区二区三区白人 | 99热这里只有精品免费播放 | 国产偷人自拍区视频在线观看 | 亚洲欧美一区二区三区不卡 | 又刺激又爽又黄的视频在线观看 | 国产中文字幕亚洲 | 国产日韩精品欧美一区视频 | 欧美激情视频一区二区 | 试看试看视频 | 91看片淫黄大片欧美看国产片 | 欧美精品成人3d在线 | 欧美人成在线观看网站高清 | 国产女人体一区二区三区 | 欧美日本 | 亚洲精品高清欧美 | 国内精品视频在线播放 | 国产精品美女在线露脸 | 成人三级视频 | 裸妇厨房风流在线观看 | 肉大捧一进一出免费视频 | 日韩在线一区二区三区观 | 国产大片全黄在 | 97视频在线观看这里只有精品 | 国产午夜福利在线播放87 | 国产亚洲aⅴ在线观看不卡 国产免费a视频网站在线观看 | 91精品在线观看中文 | 国产又粗又大又黄的视频 | 亚洲精品免费日日日夜夜夜夜 | 加勒比一本 | 中文中幕a在线 | 欧美日韩免费在线观看 | 日本中文字幕熟女 | 成人欧美国产在线 | 国产精品素人搭讪在线播放 | 亚洲免费 | 国产精品福利电影一区二区三 | 91成人影院 | 日韩一区二区手机免费观看 | 伊人www22综合色 | 国产精品女丝袜白丝袜美腿 | 日韩午夜顶级在线观看 | 新片速递 | 懂色中文一区二区三区在线视频 | 中文字幕国产第1页直播在线 | 日韩18未满禁止观看 | 日本一区二区三区免费乱视频 | 欧美清纯唯美 | 国产1122欧美在线观看 | 中文字幕在线播放一区二区三区 | 国产大片欧美精品 | 欧美日韩变态另类校园 | 精品日韩欧美一区二区三区 | 亚洲人成在线播放 | 性生大片免费观看性 | 国产女饥渴熟女专区九色 | 欧美精品一区二区三区四 | 亚洲国产精品va在线播放 | 成人午夜激情影院 | 伊人影音| 国产成社区在线视频观看 | 日本a级精品一区二区三区 草102 | 国产伦精品一区二区三区视频 | 国产天堂一区 | 精品一区二区三区的国产在线观 | 国产女学生破女初在线观看 | 日本网站在线播放 | 成人性生交大片在线观看 | 国产黑色丝袜美女在线观看婷 | a成在线观看网站 | 欧美性色生活 | 国产日韩午夜视频一级 | 国产精品资源在线观看网站 | 一区二区国产最新福 | 国产亚洲精品精品精品 | 电视剧排行榜 | 妹子干综合 | 免费成人www视频在线观看 | 美女一区二区三区 | 欧美日韩成人 | 综合精品网成人影院 | 国产一区精品理论片在线观看免 | 日韩一本之道一区中文字幕 | 日产精品一区二区三区免费 | 91李宗精品72集 | 老司机老色鬼精品免费视频 | 92看片婬黄大片看国产片 | 日韩大片高清播放器 | 在线欧美日韩国产 | 国产91精品不卡在线 | 日本人成视频免费观看 | 亚洲vr精品在着在线观看 | 国产末成年 | 成人福利国产精品视频 | 精品国产福利一区二区在线 | 国产免费网站看v片在线观看 | 欧美亚洲国产日韩完全在线电影 | 免费的又色又爽又黄的片 | 国产在线观看一区二区三区 | 在线观看国产日韩欧美 | 国产亲子 | 成在线人永久免费播放视频 | 亚洲精品综合在线发布 | 国产乱伦一区二区三区 | 成人日动漫卡一区二区三区动漫 | 免费人成视频在线看片下载 | 日本又黄又粗又大gif动态图 | 国内自产 | 国产亚洲欧美亚综合在线区 | 免费人成再在线观看视频 | 专区在线观看 | 国产乱子伦 | 免费国产不卡一区二区三区 | 国产精品理论片在线观看 | www.xxx国产 | 日本色色的视频一区 | 欧美一级日韩一级亚洲一级va | 欧美一级高清片国产特黄大 | 免费人成视频在线播放视频 | 影音先锋人 | 国产日产欧产精品精品app | 欧美亚洲视频 | 依依成人影院在线观看 | 欧在线一二三四区 | 性夜影院爽黄a爽免费看不卡 | 最新电视剧在线观看 | 99视频精品免费在线观看 | 欧美一级特黄aaa大片在线观 | 国产在线视频凹凸分类 | 91精品国产品国语在线不卡 | 国产精品冷s系列在线观看 中文字幕一区二区精品区 日韩一区二区免费看 | 欧美激情国产 | 欧美精品在| 国产日韩欧美精品大秀 | 国产在线视精品在亚洲 | 资源在线观看高清国产 | 99国内精品自在现线 | 另类亚洲小说图片综合区 | 国产网站在线播放 | 欧美日韩国产精品免费观看 | 18处破外女出血视频在线观看 | 日韩精品一区二区在线观看播放 | 伊人www22 | 欧美激情在线看 | 国产欧美日韩精品第二区 | 日韩欧美中文字幕一区 | 欧美不卡一区二区 | 自产视频在线观看 | 精品国产欧美一区二区日韩 | 91国高清在线播放 | 日本xx高清视频免费 | 国产精品自产拍在线观看免费 | 伦理电影在线观看 | 九九视频精品全部免费播放 | 国产欧美在线 | 国产亚洲熟女电影院 | 99热国产这里只有精品6 | 日韩高清第一页 | 欧洲乱码卡1卡2在线 | 国产vr精品亚洲欧美咪咕爱 | 欧洲免费观看 | 日韩美女婬乱大片a级网站 在线观看亚洲 | 区二区三区在线观看 | 午夜性爱视频 | 国产精品人视频人人视频 | 欧美一级专区免费大片 | 国产精品福利视 | 国产日b视频在线观看 | 欧美日本制服亚 | 国产精品v欧美精品v日韩精品 | 亚洲女色福利免费视频 | 中文字幕一精品亚洲无线一区 | 色两性午夜视频免费观看 | 好姑娘视频观看免费完整版 | 1000部免费一个人 | 欧美日韩一区在线观看 | 亚洲精品分类在看在 | 国产精品一在线观看 | 亚洲性日韩精品一区二区 | 国产精品自产拍在线观看一 | 被暴雨淋湿 | 亚洲v欧美v日韩v国产v | 综合另类小说欧美另类图片 | 成全动漫高清电影好看的电视剧 | 国产性生大片免费观看性 | 日韩精品一区二区三区在线视频放 | 正在播放一区二区 | 区二区导航 | 无人区乱码一区二区三区 | 精品国产柚木在线 | 黑人巨大精品欧美一区在线 | 国产在线视频不 | 精品国产自产拍在线观看蜜桃 | 最新热播电影完整版 | 亚洲va天堂va欧美ⅴa | 中文字幕卡通动漫精品首页 | 午夜影院在线看 | 日本韩国欧 | 日本免费一区二区在线播放 | 1024国产 | 久章草在线精品视频免费观看 | 日韩欧美一区二区三在线播放 | aa级亚洲电影 | 国产ch | 欧美日一级 | 国产精品亚洲片夜色在线 | 欧美亚洲国产日本黑白 | 国产在线2025精品 | 国产欧美日本韩国另类 | 不卡无在线一区二区三区观 | 观看福利 | 国产精品一区第二页在线 | 国产精品亚洲日韩欧美在线观看 | 西瓜视频国产 | 大吊干逼视频 | 欧美日韩在线精品一区二区三区 | 国产午夜一级一片 | 伦理电影网在线观看 | 欧美日韩精品一区二 | 国农村精品国产自线拍 | 亚洲精品亚洲欧美综合区 | 日韩美女在线视频一区 | 破解中文字幕 | 日韩中文字幕视频在线 | 精品免费国产一区二区 | 亚洲一级二级三级精品 | 日韩中文字幕在线不卡视频 | 亚洲国产日韩a在线亚洲 | 国产精品偷伦视频免费观看了 | 免费人成在线观看网站免费观看 | 欧美大胆 | 欧美aⅴ在线 | 免费播放婬乱男女婬视频国产 | 国产欧美日韩视频 | 精品欧美极品视频在线播放 | 国产乱码一区在线观看免费 | 国产亚洲精品看片在线观看 | 欧美一区二区三区老妇人 | 免费永久在线观看污污的网站 | 国内视频一区在线播放 | 91成人免费观看在线观看 | 日本乱妇乱子视频网站 | 日韩一区二区三区在线观看 | 亚洲s色大 | 精品午夜福利在线观 | 国产精品主播一区二区 | 国产在线精品一区二区不卡顿 | 中文字幕精品一区二区 | 歐美日韓國產綜合在線小說 | 亚洲成年人影院 | 国产a视频精品免费观看 | 日韩一区二区三区免费网站 | 欧美性播放中国 | 国产偷国产偷亚洲高清日韩 | 97在线观看免费视频观看 | 欧美大片一区免费 | 国产一级精品在线播 | 九九九亚洲精品 | 国产vr精品亚洲欧美咪咕爱 | 电影在线免费高清中文 | 国产精成人品 | a级国产高清美女理论片 | 精品欧美一区二区在线看片 | 成人国产亚欧视频在线 | 91绿奴论坛九色国产 | 九九精品电影 | 国产欧美日韩国中文字幕高清在线 | 国产精品熟女一区二区 | 国产爱情岛在线观看视频 | 亚洲愉拍99热成人精品 | 日本亚欧在线观看 | 1000部免费一个人 | 香蕉国产线看观看伊 | 免费观看日本在线 | 国产精品五月天婷婷视频 | 日韩另类综合自拍亚洲 | 狠狠热精品免费视频 | 日本亚洲欧美国产日韩ay | 国产欧美亚洲一区二区三区四区 | 成年人网站在线免费观看 | 99久视频 | 欧美刺激性大交 | 国产欧美日韩在线中文一区 | 国产在线视频网站 | 日韩在线视频欧美一区 | 国产操女人 | 亚洲激情自拍偷拍 | 秋霞免费理论片鲁丝在线观看 | 免费xxxx大片 | 人与动人 | 国产日产高清欧美一区等 | 在线观看视频资源 | 日韩精品一区二区三区影视 | 老牛影视精品亚洲一区二区 | 午夜福利国产一级欧美片 | 日本高清中文字幕在线观穿线视频 | 免费精品国偷自产在线在线 | 国产在线精品哟哟观看 | 精品孕妇一区二区三区 | 日日噜噜夜夜狠狠视频无 | 日韩伦理福利免费 | 一区国产在线视频 | 日韩欧美中文字幕在线播放 | 国产精品成人免费视频网站 | 按摩推油在线观看国产 | 国产精品爽爽ⅴa在线观看 欧美日韩国产一区二区三区欧 | 国产伦在线视频大全 | 处破痛哭a√18成年片免费 | 欧亚日韩中文字幕在线 | 亚洲激精日韩激精欧美潮精品 | 老司机在线精品 | 成全在线观看免费完整 | 欧美v日韩v亚洲v最新 | 97国产在线视频公开免费 | 欧美国产另 | 日本名勝景點推薦 | 精品色重口色 | 欧美精品69| 日本精品视频在线 | 久9re只有这里精品视频 | 午夜伦理电影网电影午夜伦理 | 三三影院| 一区二区免费在线观 | 国产蝌蚪视频一区二区三区 | 国产一区二区三区丝袜精品 | 国产精品9视频免费1区 | 日韩中文字幕免费视频 | 国产在线观看aⅴ免费 | 国产在线观看一区二区三区四区 | 国产91露脸在线播放 | 羞羞视频下载ap | 国产一区二区在线免费观看 | 亚洲色偷精品一区二区三区 | www.性爱.com| 91蜜桃| 99精品国产丝袜在线拍国语 | 国产精品亚洲日日摸夜夜添 | 国产拍拍拍在线观看视频免费 | 国产免费公开手机在线 | 精品二区三区特黄 | 欧美日韩产 | 国内夫妇精品对白在线播放 | 国产精品兄 | 国产一级欧美一区二区 | 日本护士视频亚洲性在线看 | 日韩一级欧美动漫国产在线观看 | 欧美乱强伦xxxx | 人人干在线视频 | 国产福利观 | 伦理电影在线观看视频 | 欧美亚洲国产中文字幕 | 手机看电影的网站 | 成年女人黄小视频 | 国产日b| 亚洲精品国产精品国自产观看 | 国产毛多女人精品视频影院 | 国产精品熟女一区二区 | 亚洲精品国产制服丝袜美腿 | 99re6在线视频精品免费下载 | 亚洲v日韩v欧美高清在线观看 | 日本天堂视频在 | 丝袜美腿一区二区三区 | 免费国产污网站在线观看 | 果冻传媒国产电影免费看 | 亚洲区一二三四区 | 亚洲高清国产拍 | 国产网站在线免费 | 国产亚洲精品激情都市 | 精品亚洲永久免费精品app | 国产极品精频在线观看 | 亚洲人成小说网站色 | 717电影琪琪午夜理论 | 国产超薄肉丝袜在线一卡 | 成人影院 | 女同性另类一区二区三区视频 | 99精品偷自拍 | 国内女人喷潮完整视频 | 日韩精品在线看 | 欧美三级中 | 国产又粗又猛又 | 国产精品成人自拍在线观看 | 丰满多水的 | 国产高清在线观看 | 无人区一码二码三码区别 | 日本香蕉一区二区在线观看 | 国产伦精 | 欧洲亚洲国产日韩综合一区 | 精品国产品香蕉在线观 | 国产亚洲欧美日韩在线看片 | 成人国产一区二区三区精 | 欧美精品网站在 | 好吊妞国产欧美日韩免费观看 | 国产凹凸在线一区二区 | 国产高清亚洲美女精品图片91 | 国产精品单位女同事在线 | 91午夜福利国产在线 | 国产一级在视频在线观 | 字幕一区在线观看视频 | 国产精品最新免费视频 | 国产激情一区二区小说 | 国产又粗又硬又长又爽 | 亚洲中文字幕一区精品自拍 | 精品国产91久 | 日本韩国欧美 | 免vip一区二区三区日韩美女 | 老司机亚洲精品 | 国产欧美一区二区精 | 中文字幕亚洲精品 | 国产日韩欧美3atvcom | 国产亚洲欧美 | 日韩视频第一页 | 国产3344视频在线观看 | 高清午夜福利电影在线 | 国产精品1区在线播放 | 国产一级做a爱免费观看 | 国偷自产91 | 欧美韩国电影免费在线观看 | 不小心滑进去中文字幕 | 日韩精品武 | 自拍三级综合影视 | 好吊妞在线新免费视频 | 欧美日韩一区二区成人午夜电影 | 国产精品va欧美精品v日韩 | 看片天堂| 国产视频综合 | 草莓视频污免 | 欧美日韩在线成人 | 野花免费高 | 日本欧美三级r级国产在线 日韩精品国产一区二区三区 | 欧美精品视频免费看 | 国产精品视频国产永久视频 | 精品国产自在精品国产精华天 | 欧美日韩一本到手机视频观看一区 | 日本理论片和搜子同居的日子电 | 国产理论视频在线观看 | 国产精品第9页 | 国产亚洲精品欧洲在线观看 | 91日本在线精品高清观看 | 国产国产乱老熟女视 | 国产福利一区二区三区在线 | 国语免费| 成人免费网站 | 欧美手机手机在线视频一区 | 亚洲欧美综合 | 亚洲国产日韩在线播放 | 把伸进女人的www下载 | 成全电影大 | 欧美一区二区三区性视频 | 欧美生活 | 国产色婷| 一区二区三区视频在线观看 | 国产麻花豆 | 日本三级精 | 欧美老人xxxx | 五月婷婷六月丁香 | 免费成人黄 | 欧美亚洲国产精品第 | 日韩欧美在线一级一中文字暮 | 制服丝袜中| 一区视频| 中文字幕在线观看2025 | 在线欧美精品二区三区 | 亚洲日本在线看片 | 免费播放婬乱男女婬视频 | 久青草国产观看在线视频 | 日韩在线中文 | 国产偷国产偷亚 | 青草青草久热精品视频在线观看 | 亚洲精品成a人在线观看 | 国产又黄又猛又粗又爽 | 97青青青国产在线播放 | 日本免费综 | 91精品成人免费国产片 | 国产欧美日韩精品在线 | 麻花影院 | 日本理伦片午夜理伦片 | 五月天丁香婷深爱综合网 | 日韩亚洲欧美高清在线观看 | 欧美人与禽zozo性伦交 | 国产日韩在线观看一区二区三区 | 精品一区二区三区高清免费观看 | 国产中文字幕视频在线播放 | 国产国语一级在线播放视频 | 色8激情欧 | 日韩欧美精品在线观看视 | 最新院线大片抢先看 | 在线高清mv视 | 日本乱理伦片在线观 | 欧美精品爆操白虎 | 亚洲中文在线精品国产 | 大肉大捧一进一出 | 99热这里只有精品6国产免费 | 欧美特黄特刺激a一级淫片 欧美日韩免费 | 日本视频网站www色高清免费 | 国产熟女真实乱精品视频 | 中文字幕巨大乳在线看 | 欧美丝袜国 | 国产精品电影一区二区 | 日本护士毛茸茸 | 成人性开放网 | 91香蕉视| 精品一二三区 | 精品一区二区免费vr | 国产偷v| 亚洲国产99在线精品一区 | 国产夜趣福利免费 | 国产导航 | 国产永久在线 | 日本黄本道一区二区在线观看 | 中文字幕精品视频第一区第二 | 国产精品欧美亚洲韩国日本 | 99精品一区二区三区免费视频 | 国产视频91尤物在线观看 | 日韩一区二区三区电影成人 | 免费免费视频片在线观看 | 亚洲综合欧美在线 | 国产午夜电影免费 | 国产精品日韩激情在线观看 | 亚洲一区二区国产精品 | 乱子伦免费视频中文字幕 | 97影院午夜在线影国产 | 中国凸偷窥xxxx自由视频 | 中文字幕亚洲无线码在一区 | 岛国成人一区二区 | 最新免费电影 | 日韩一区免费视频99 | 国产欧美日韩电影在线观看 | 爱在线精品视频网站 | 日韩欧美一区二区在线精品 | 日本卡2卡3卡4卡5卡 | 国产激情视频一区二区三区 | 国产午夜人做人免费视频 | 国产午夜不卡一区 | 韩日欧美| 99视频精品在线 | 精品动漫区第一页在线 | 日本女优一区二区三区四区 | 日韩欧美精品综合一区二区三 | 国产一区视频一区欧美 | 欧美在线观看成人高清视频 | 日韩v亚洲v欧美v精品综合 | 香蕉精品亚洲二区在线观看 | 8090成人| 亚洲国产aⅴ精品一区二区女女 | 亚洲国产高清 | 俺去俺来也在线观看 | 午夜福利一区二区电影 | 曰本还a大片免费视频 | 欧美亚洲日韩视频 | 日本不卡一二三区视频免费 | 日本视频在线观看不卡高清免费 | 成人精品视频免费看 | 猛片亚洲成a∨人片在线观 精品国产福利在线观看 | 男人的天堂v在线播放 | 国产伦精品一区二区三区精品 | 亚洲а∨精品天堂在线 | 日本夫妻激情生活b区 | 国产精品又粗又大 | 91免费网址 | 老司机app安卓破解版 | 伦视频中文字幕亚洲天堂网 | 日韩成人免播放器在线视频 | 亚洲欧美国产日产综合不卡 | 国产尤物一区二区在线播放 | 日韩中文字幕a加勒 | 91密臀在线播放 | 亚洲欧美性综合在线 | 日韩欧美精品一区二区三区 | 日本旅遊情報一網打盡 | 欧美乱码精品一区二区三 | 国产精品综合亚洲 | 青春草在线视频免费观看 | 免费国产亚洲精品在线视频 | 国产精品网红尤物福利在 | 国产最新电影在线观 | 精品一卡2卡3卡4卡国色天香 | 蜜臀91精品国产免费观看 | 91网红精品 | 日韩午夜理论 | 日本一区欧美国产日韩 | 亚洲天码中字 | 亚洲一区二区在线播放 | 免费欧三a大片 | 制服丝袜中文字幕在线 | 国产在线国偷精品产拍 | 亚洲国产免费 | 偷国内自拍视频在线观 | 欧美一二区视频 | 日韩欧美爽爽的影院 | 欧美三级欧美一级在线视频 | 日韩精品一区二区三区视频 | 999国产| 国产在线精品一区二区在线观看 | 成人国产欧美日韩在线观看 | 中文字字幕乱码高清二本道资源站 | 高清影视大全 | 一本大道香蕉大在线欧美 | 欧美精品视频在线免费观看 | 强开女学生的小嫩苞 | 国产91精品高跟丝袜在线 | 野花免费观看日本一个电影 | 精品国产自在在线在线观看 | 午夜级理论片在线播放202 | 国内精品 | 乱子伦精品视频 | 男人日女人的逼视频 | 国产开嫩苞实拍在线播放视频 | 国内91精| 十九岁在线观看免费完整版 | 欧美人交性视频在线香蕉 | 日韩欧美最新综合 | 乳肉豪妇荡乳在线观看 | 五月天开心激情网 | 在线观看一二三四区 | 日韩欧美亚洲一区 | 成人欧美日韩91 | 韩国三级《私人教练》 | 午夜片神马影院福利 | 337p日本人体 | 国产一级三级三级在线视 | 国产精品视频分类 | 日本午夜电影一区二区三区 | 日本天堂天v在线播放 | 国产一级特黄a大片99 | 国产真实乱人视频在线看 | 精品91视频网站 | 欧美色精品视频在线观看九 | 国产精品a无线 | 日本一本为道高清视频 | 亚洲福利一区福利三区 | 福利导航成人 | 精品人伦一区二区三区 | 亚洲欧美中文高清在线专区 | 国产亚洲欧美日韩一区图片 | 日本免费综合中文 | 日韩精品免费高清视频在线 | 国产精品日本一区二区不卡视频 | 国产精品网曝门免费视频 | 国产香蕉在线观看 | 国产中国三级在线视频 | 日韩精品一区二区三区免费看 | 成人污污国产在线观看 | 国内揄拍国内 | 欧美一级精品 | 91中文字幕永久在线人妖 | 日韩一区二区三区在线精 | 亚洲最新中文字幕aⅴ天堂 亚洲精品视频在线播放 | 噼里啪啦影院大 | 日韩视频免| 五月婷婷丁香色 | 女被男啪到哭的视频网站 | 国产在线成人 | 欧美一级高清片国产特黄大 | 国产日产亚洲系列电影 | 国产第一页屁屁影院 | 日韩中文字幕国产一区在 | 成人性生交大片在线观看 | 精品乱伦欧美国产 | 成品网站w在线观看 | 国外精品视频在线观看免费 | 国产精华液和欧美的精华液 | 潘金莲与西门庆床戏在线 | 五月天婷婷在线观看免费 | 亚洲一级特黄大片在线播放 | 国产91玉足脚交在线播放 | 国产日韩欧美亚欧在线中日韩 | 九九九九精品视频在线播放 | 国产精品免费无 | 亚洲一区二区三区不卡视频 | 亚洲国产一区二区三区a毛 h视频网站 | 国产最新进 | 日韩精品视频美在线精品视频 | 亚洲精品一本四区91 | 白丝袜美| 日韩欧美中文字幕综合色 | 日产高清砖码砖专区 | 风韵丰满| 日韩欧美一区二区三区 | 午夜福利体验免费体验区 | 国产又色又爽又黄的视频免费看 | 国产青草伊伊在线观看 | 成人精品一区二区免费看 | 欧美精品视频免费观看 | 国产婷婷精品任我爽欧美 | 最近更新中文字幕2025视频 | 亚洲步兵在线播放 | 欧美精品亚洲日韩aⅴ | 国产精品一区二区亚瑟不卡 | 伦人伦xxx国产对白 国产第一页屁 | 欧美床戏吻戏摸下面吻胸 | 国产精品一区二区视色 | 偷拍视频一区二区三区 |