亲爱的网友,你能搜到本文中,说明您很希望了解这个问题,以下内容就是我们收集整理的相关资料,希望该答案能满足您的要求
一、概念介绍
DataGridView是Windows Forms中数据表格控件,它是WinForm中重要的数据控件之一,可以提供多种功能,如数据绑定、分页、排序、过滤、编辑、选择、格式化、样式控制等,是WinForm中常用的数据控件。
绑定数据源是DataGridView的重要功能之一,它可以将数据源与控件进行绑定,简化了数据显示和管理的过程,使得数据显示和管理更加方便和快捷。
本文将详细介绍DataGridView绑定数据源的方法,包括以下内容:
1.使用数据源绑定控件
2.手动加入数据源
3.使用DataSet绑定数据源
4.使用DataTable绑定数据源
5.使用List集合绑定数据源
6.使用BindingList集合绑定数据源
7.使用BindingSource绑定数据源
二、使用数据源绑定控件
数据源绑定控件是WinForm中常用的一种数据绑定方法,它的主要思想是将数据源与数据控件进行绑定,让控件根据数据源的变化自动刷新数据。以下是使用数据源绑定控件绑定数据源的基本步骤:
1.打开Visual Studio,新建一个窗体应用程序。
2.从工具箱中将DataGridView控件拖放到窗体上。
3.在数据窗口中新建一个数据集,选中数据集,打开属性窗口(可通过点击F4快捷键或者在视图菜单中选中属性窗口),设置数据集的名称和命名空间。
4.右键单击数据集,选择添加->表,添加一个表(或者通过添加数据适配器添加一个表)。
5.在表中加入一些数据(比如姓名、年龄、地址等信息),每个字段都要添加一个列。
6.打开数据窗口中的表,绑定DataGridView控件,在属性窗口中选择“数据绑定”,将DataGridView控件的DataSource属性指定为数据集中的表。
7.在DataGridView控件上右键单击,选择“编辑列”,设置每一列的HeaderText、DataPropertyName等属性值,确保数据可以正确显示。
以上就是使用数据源绑定控件绑定数据源的基本步骤。可以通过运行程序,查看DataGridView控件是否可以正确显示数据。
三、手动加入数据源
在使用数据源绑定控件的时候,我们需要提前创建好数据集和数据表,并在数据表中手动加入数据。如果数据量比较小,手动加入数据并不是什么困难的事情。以下是手动加入数据源的基本步骤:
1.从工具箱中将DataGridView控件拖放到窗体上。
2.手动添加数据表,添加数据列,设置数据类型。
3.通过代码术语,手动添加数据到数据表中。
4.将DataGridView控件的DataSource属性指定为数据表。
5.在DataGridView控件上右键单击,选择“编辑列”,设置每一列的HeaderText、DataPropertyName等属性值,确保数据可以正确显示。
以下是手动加入数据源的示例代码:
```
private void Form1_Load(object sender, EventArgs e)
{
//手动添加数据表
DataTable dt = new DataTable();
//手动添加数据列
DataColumn column1 = new DataColumn(\"ID\", typeof(int));
DataColumn column2 = new DataColumn(\"Name\", typeof(string));
DataColumn column3 = new DataColumn(\"Age\", typeof(int));
DataColumn column4 = new DataColumn(\"Address\", typeof(string));
//将数据列添加到数据表中
dt.Columns.Add(column1);
dt.Columns.Add(column2);
dt.Columns.Add(column3);
dt.Columns.Add(column4);
//手动添加数据
DataRow row1 = dt.NewRow();
row1[\"ID\"] = 1;
row1[\"Name\"] = \"张三\";
row1[\"Age\"] = 18;
row1[\"Address\"] = \"北京市\";
dt.Rows.Add(row1);
DataRow row2 = dt.NewRow();
row2[\"ID\"] = 2;
row2[\"Name\"] = \"李四\";
row2[\"Age\"] = 20;
row2[\"Address\"] = \"上海市\";
dt.Rows.Add(row2);
DataRow row3 = dt.NewRow();
row3[\"ID\"] = 3;
row3[\"Name\"] = \"王五\";
row3[\"Age\"] = 22;
row3[\"Address\"] = \"广州市\";
dt.Rows.Add(row3);
//绑定数据
dataGridView1.DataSource = dt;
//设置每一列的HeaderText和DataPropertyName
dataGridView1.Columns[\"ID\"].HeaderText = \"编号\";
dataGridView1.Columns[\"ID\"].DataPropertyName = \"ID\";
dataGridView1.Columns[\"Name\"].HeaderText = \"姓名\";
dataGridView1.Columns[\"Name\"].DataPropertyName = \"Name\";
dataGridView1.Columns[\"Age\"].HeaderText = \"年龄\";
dataGridView1.Columns[\"Age\"].DataPropertyName = \"Age\";
dataGridView1.Columns[\"Address\"].HeaderText = \"地址\";
dataGridView1.Columns[\"Address\"].DataPropertyName = \"Address\";
}
```
四、使用DataSet绑定数据源
DataSet是一种以xml格式存储数据的对象,它可以将多个表格以及它们的关联关系存储在一个对象中,是一种非常方便的数据存储方式。DataSet可以通过DataSet Designer或者代码手写的方式创建,以下是使用DataSet绑定数据源的基本步骤:
1.从工具箱中将DataGridView控件拖放到窗体上。
2.创建数据集。
3.使用Select语句从数据库中读取数据。
4.将数据绑定到DataGridView控件上。
以下是使用DataSet绑定数据源的示例代码:
```
private void Form1_Load(object sender, EventArgs e)
{
//创建数据集
DataSet ds = new DataSet();
//使用Select语句从数据库中读取数据
string connectionString = \"server=.;database=Northwind;uid=sa;pwd=123456;\";
SqlConnection connection = new SqlConnection(connectionString);
SqlDataAdapter adapter = new SqlDataAdapter(\"SELECT * FROM Customers\", connection);
adapter.Fill(ds, \"Customers\");
//绑定数据
dataGridView1.DataSource = ds.Tables[0];
//设置每一列的HeaderText和DataPropertyName
dataGridView1.Columns[\"CustomerID\"].HeaderText = \"编号\";
dataGridView1.Columns[\"CustomerID\"].DataPropertyName = \"CustomerID\";
dataGridView1.Columns[\"CompanyName\"].HeaderText = \"公司名称\";
dataGridView1.Columns[\"CompanyName\"].DataPropertyName = \"CompanyName\";
dataGridView1.Columns[\"ContactName\"].HeaderText = \"联系人\";
dataGridView1.Columns[\"ContactName\"].DataPropertyName = \"ContactName\";
dataGridView1.Columns[\"ContactTitle\"].HeaderText = \"联系人职位\";
dataGridView1.Columns[\"ContactTitle\"].DataPropertyName = \"ContactTitle\";
dataGridView1.Columns[\"Address\"].HeaderText = \"地址\";
dataGridView1.Columns[\"Address\"].DataPropertyName = \"Address\";
dataGridView1.Columns[\"City\"].HeaderText = \"城市\";
dataGridView1.Columns[\"City\"].DataPropertyName = \"City\";
dataGridView1.Columns[\"Region\"].HeaderText = \"地区\";
dataGridView1.Columns[\"Region\"].DataPropertyName = \"Region\";
dataGridView1.Columns[\"PostalCode\"].HeaderText = \"邮编\";
dataGridView1.Columns[\"PostalCode\"].DataPropertyName = \"PostalCode\";
dataGridView1.Columns[\"Country\"].HeaderText = \"国家\";
dataGridView1.Columns[\"Country\"].DataPropertyName = \"Country\";
dataGridView1.Columns[\"Phone\"].HeaderText = \"电话\";
dataGridView1.Columns[\"Phone\"].DataPropertyName = \"Phone\";
dataGridView1.Columns[\"Fax\"].HeaderText = \"传真\";
dataGridView1.Columns[\"Fax\"].DataPropertyName = \"Fax\";
}
```
五、使用DataTable绑定数据源
DataTable是一种提供数据存储和检索能力的对象,它是DataSet中最小的单位,可以用来存储从数据库中查询出来的数据,但不包含关系表和表之间的关联关系。以下是使用DataTable绑定数据源的基本步骤:
1.从工具箱中将DataGridView控件拖放到窗体上。
2.创建数据表。
3.使用Select语句从数据库中读取数据。
4.将数据绑定到DataGridView控件上。
以下是使用DataTable绑定数据源的示例代码:
```
private void Form1_Load(object sender, EventArgs e)
{
//创建数据表
DataTable dt = new DataTable();
//使用Select语句从数据库中读取数据
string connectionString = \"server=.;database=Northwind;uid=sa;pwd=123456;\";
SqlConnection connection = new SqlConnection(connectionString);
SqlDataAdapter adapter = new SqlDataAdapter(\"SELECT * FROM Customers\", connection);
adapter.Fill(dt);
//绑定数据
dataGridView1.DataSource = dt;
//设置每一列的HeaderText和DataPropertyName
dataGridView1.Columns[\"CustomerID\"].HeaderText = \"编号\";
dataGridView1.Columns[\"CustomerID\"].DataPropertyName = \"CustomerID\";
dataGridView1.Columns[\"CompanyName\"].HeaderText = \"公司名称\";
dataGridView1.Columns[\"CompanyName\"].DataPropertyName = \"CompanyName\";
dataGridView1.Columns[\"ContactName\"].HeaderText = \"联系人\";
dataGridView1.Columns[\"ContactName\"].DataPropertyName = \"ContactName\";
dataGridView1.Columns[\"ContactTitle\"].HeaderText = \"联系人职位\";
dataGridView1.Columns[\"ContactTitle\"].DataPropertyName = \"ContactTitle\";
dataGridView1.Columns[\"Address\"].HeaderText = \"地址\";
dataGridView1.Columns[\"Address\"].DataPropertyName = \"Address\";
dataGridView1.Columns[\"City\"].HeaderText = \"城市\";
dataGridView1.Columns[\"City\"].DataPropertyName = \"City\";
dataGridView1.Columns[\"Region\"].HeaderText = \"地区\";
dataGridView1.Columns[\"Region\"].DataPropertyName = \"Region\";
dataGridView1.Columns[\"PostalCode\"].HeaderText = \"邮编\";
dataGridView1.Columns[\"PostalCode\"].DataPropertyName = \"PostalCode\";
dataGridView1.Columns[\"Country\"].HeaderText = \"国家\";
dataGridView1.Columns[\"Country\"].DataPropertyName = \"Country\";
dataGridView1.Columns[\"Phone\"].HeaderText = \"电话\";
dataGridView1.Columns[\"Phone\"].DataPropertyName = \"Phone\";
dataGridView1.Columns[\"Fax\"].HeaderText = \"传真\";
dataGridView1.Columns[\"Fax\"].DataPropertyName = \"Fax\";
}
```
六、使用List集合绑定数据源
List是一种泛型集合,它可以存储同一种数据类型的多个元素,并提供了多种数据操作方法。手动创建List集合并手动添加数据到List集合中是一种常用的数据绑定方法。以下是使用List集合绑定数据源的基本步骤:
1.从工具箱中将DataGridView控件拖放到窗体上。
2.创建List集合。
3.手动添加数据到List集合中。
4.将数据绑定到DataGridView控件上。
以下是使用List集合绑定数据源的示例代码:
```
private void Form1_Load(object sender, EventArgs e)
{
//创建List集合
List
//手动添加数据
customers.Add(new Customer() { CustomerID = \"ALFKI\", CompanyName = \"Alfreds Futterkiste\", ContactName = \"Maria Anders\" });
customers.Add(new Customer() { CustomerID = \"ANATR\", CompanyName = \"Ana Trujillo Emparedados y helados\", ContactName = \"Ana Trujillo\" });
customers.Add(new Customer() { CustomerID = \"ANTON\", CompanyName = \"Antonio Moreno Taqueria\", ContactName = \"Antonio Moreno\" });
customers.Add(new Customer() { CustomerID = \"AROUT\", CompanyName = \"Around The Horn\", ContactName = \"Thomas Hardy\" });
customers.Add(new Customer() { CustomerID = \"BERGS\", CompanyName = \"Berglunds snabbkop\", ContactName = \"Christina Berglund\" });
//绑定数据
dataGridView1.DataSource = customers;
//设置每一列的HeaderText和DataPropertyName
dataGridView1.Columns[\"CustomerID\"].HeaderText = \"编号\";
dataGridView1.Columns[\"CustomerID\"].DataPropertyName = \"CustomerID\";
dataGridView1.Columns[\"CompanyName\"].HeaderText = \"公司名称\";
dataGridView1.Columns[\"CompanyName\"].DataPropertyName = \"CompanyName\";
dataGridView1.Columns[\"ContactName\"].HeaderText = \"联系人\";
dataGridView1.Columns[\"ContactName\"].DataPropertyName = \"ContactName\";
}
class Customer
{
public string CustomerID { get; set; }
public string CompanyName { get; set; }
public string ContactName { get; set; }
}
```
七、使用BindingList集合绑定数据源
BindingList是一种可绑定的泛型集合,它可以将数据与控件进行绑定,当数据发生变化时,控件会自动更新。使用BindingList集合绑定数据源是一种非常方便的数据绑定方式。以下是使用BindingList集合绑定数据源的基本步骤:
1.从工具箱中将DataGridView控件拖放到窗体上。
2.创建BindingList集合。
3.手动添加数据到BindingList集合中。
4.将BindingList集合绑定到DataGridView控件上。
以下是使用BindingList集合绑定数据源的示例代码:
```
private void Form1_Load(object sender, EventArgs e)
{
//创建BindingList集合
BindingList
//手动添加数据
customers.Add(new Customer() { CustomerID = \"ALFKI\", CompanyName = \"Alfreds Futterkiste\", ContactName = \"Maria Anders\" });
customers.Add(new Customer() { CustomerID = \"ANATR\", CompanyName = \"Ana Trujillo Emparedados y helados\", ContactName = \"Ana Trujillo\" });
customers.Add(new Customer() { CustomerID = \"ANTON\", CompanyName = \"Antonio Moreno Taqueria\", ContactName = \"Antonio Moreno\" });
customers.Add(new Customer() { CustomerID = \"AROUT\", CompanyName = \"Around The Horn\", ContactName = \"Thomas Hardy\" });
customers.Add(new Customer() { CustomerID = \"BERGS\", CompanyName = \"Berglunds snabbkop\", ContactName = \"Christina Berglund\" });
//绑定数据
dataGridView1.DataSource = customers;
//设置每一列的HeaderText和DataPropertyName
dataGridView1.Columns[\"CustomerID\"].HeaderText = \"编号\";
dataGridView1.Columns[\"CustomerID\"].DataPropertyName = \"CustomerID\";
dataGridView1.Columns[\"CompanyName\"].HeaderText = \"公司名称\";
dataGridView1.Columns[\"CompanyName\"].DataPropertyName = \"CompanyName\";
dataGridView1.Columns[\"ContactName\"].HeaderText = \"联系人\";
dataGridView1.Columns[\"ContactName\"].DataPropertyName = \"ContactName\";
}
class Customer
{
public string CustomerID { get; set; }
public string CompanyName { get; set; }
public string ContactName { get; set; }
}
```
八、使用BindingSource绑定数据源
BindingSource是一种数据源管理器,它可以用来管理数据源,并将数据源与控件进行绑定。BindingSource可以将多种数据源(如DataTable、DataSet、List、数组等)进行整合,为数据绑定提供了更大的灵活性。以下是使用BindingSource绑定数据源的基本步骤:
1.从工具箱中将DataGridView控件拖放到窗体上。
2.创建BindingSource对象。
3.创建数据集或数据表或集合或数组,从数据库中读取数据或手动添加数据。
4.将数据绑定到BindingSource对象上。
5.将BindingSource对象绑定到DataGridView控件上。
以下是使用BindingSource绑定数据源的示例代码:
```
private void Form1_Load(object sender, EventArgs e)
{
//创建BindingSource对象
BindingSource bs = new BindingSource();
//创建数据集或数据表或集合或数组,从数据库中读取数据或手动添加数据
DataTable dt = new DataTable();
string connectionString = \"server=.;database=Northwind;uid=sa;pwd=123456;\";
SqlConnection connection = new SqlConnection(connectionString);
SqlDataAdapter adapter = new SqlDataAdapter(\"SELECT * FROM Customers\", connection);
adapter.Fill(dt);
//将数据绑定到BindingSource对象上
bs.DataSource = dt;
//将BindingSource对象绑定到DataGridView控件上
dataGridView1.DataSource = bs;
//设置每一列的HeaderText和DataPropertyName
dataGridView1.Columns[\"CustomerID\"].HeaderText = \"编号\";
dataGridView1.Columns[\"CustomerID\"].DataPropertyName = \"CustomerID\";
dataGridView1.Columns[\"CompanyName\"].HeaderText = \"公司名称\";
dataGridView1.Columns[\"CompanyName\"].DataPropertyName = \"CompanyName\";
dataGridView1.Columns[\"ContactName\"].HeaderText = \"联系人\";
dataGridView1.Columns[\"ContactName\"].DataPropertyName = \"ContactName\";
dataGridView1.Columns[\"ContactTitle\"].HeaderText = \"联系人职位\";
dataGridView1.Columns[\"ContactTitle\"].DataPropertyName = \"ContactTitle\";
dataGridView1.Columns[\"Address\"].HeaderText = \"地址\";
dataGridView1.Columns[\"Address\"].DataPropertyName = \"Address\";
dataGridView1.Columns[\"City\"].HeaderText = \"城市\";
dataGridView1.Columns[\"City\"].DataPropertyName = \"City\";
在Datagridview控件中,数据更新和刷新是非常常见的操作。数据更新可以指数据源中的数据有变化,需要及时同步到Datagridview中。而刷新则是指需要重新加载数据源中的数据,更新DataGridView中的显示结果。在此,我们将详细介绍Datagridview绑定数据更新和刷新的相关知识。
一、Datagridview的数据绑定
1.数据源与Datagridview绑定
在Datagridview的使用中,首先要完成的是数据源与Datagridview的绑定。
在Winform开发中,可以通过DataSet、DataTable、List等数据容器来存储数据,然后将数据源与Datagridview进行绑定。
以DataTable为例,下面是一段示例代码:
```csharp
//创建一个DataTable
DataTable dt = new DataTable();
//向DataTable中添加列
dt.Columns.Add(\"ID\", typeof(int));
dt.Columns.Add(\"Name\", typeof(string));
//向DataTable中添加数据
dt.Rows.Add(1, \"张三\");
dt.Rows.Add(2, \"李四\");
//将DataTable绑定到DataGridView上
this.dataGridView1.DataSource = dt;
```
通过以上代码,我们就将DataTable和Datagridview成功地进行了绑定。
2.绑定数据源的方式
在Datagridview中,绑定数据源主要有两种方式:直接绑定和自定义绑定。
直接绑定是指将一个数据容器(如DataTable)直接通过DataGridView的DataSource属性进行绑定。这种方式也是最简单的数据绑定方式。例如,我们可以通过以下代码实现直接绑定:
```csharp
this.dataGridView1.DataSource = dt;
```
自定义绑定则需要更多的代码来定义Datagridview的样式、数据值以及数据源对应关系等信息。自定义绑定主要是对Datagridview的更加灵活的控制,可以实现更丰富多样的数据呈现方式。
例如,我们可以通过以下代码实现自定义绑定:
```csharp
//定义Datagridview的列
DataGridViewColumn col1 = new DataGridViewTextBoxColumn();
col1.Name = \"ID\";
col1.HeaderText = \"编号\";
col1.DataPropertyName = \"ID\";
DataGridViewColumn col2 = new DataGridViewTextBoxColumn();
col2.Name = \"Name\";
col2.HeaderText = \"姓名\";
col2.DataPropertyName = \"Name\";
//将列添加到DataGridView中
this.dataGridView1.Columns.Add(col1);
this.dataGridView1.Columns.Add(col2);
//设置DataGridView的数据源
this.dataGridView1.DataSource = dt;
```
二、Datagridview数据更新
1.手动更新数据
当数据源中的某些数据发生变化时,我们需要及时将这些变化同步到Datagridview中。手动更新数据的方式是指通过代码控制Datagridview的显示,达到将数据源的变化显示在Datagridview中的目的。
假设现在有一个DataTable,其中有一个字段Name的值进行了更改,我们需要将这个更改同步到Datagridview中。代码如下:
```csharp
//找到数据源中Name字段所对应的列索引位置
int column = dt.Columns[\"Name\"].Ordinal;
//找到需要更新的单元格
int row = 1;
DataGridViewCell cell = this.dataGridView1.Rows[row].Cells[column];
//更改单元格的值
cell.Value = \"王五\";
```
执行以上代码后,我们就将数据源中的更改同步到了Datagridview中。
2.自动更新数据
在实际开发中,更改数据可以通过一些数据库操作等方式直接进行,而无需手动控制Datagridview。此时,我们需要使用到Datagridview自身的自动更新机制。
当数据源有新增、删除或修改等操作时,Datagridview会自动进行更新显示。但是,这种自动更新需要满足以下两个条件:
1.数据源需要实现IBindingList接口
2.数据源需要触发ListChanged事件
假设我们有一个DataTable,其中有一项数据被删除,需要将此更改同步到Datagridview。代码如下:
```csharp
//删除数据源中的某一行数据
dt.Rows.RemoveAt(1);
```
我们无需再手动更新Datagridview,Datagridview会自动进行数据更新。
三、Datagridview数据刷新
1.Datagridview数据刷新基础知识
在Datagridview中,数据刷新是指重新绑定数据源,更新DataGridView中的显示结果。在实际操作中,Datagridview数据刷新十分常见。
在使用DataGridView刷新数据之前,需要了解两点:
1.数据源需要重新绑定到DataGridView上,即DataSource属性需要重新指定。
2.需要考虑DataGridView的Column元素,即表格中存在的列一定要与新数据的字段对应,否则会引发异常。
2.数据源重新绑定
当我们在数据库中删除一条记录后,需要重新从数据库中获取数据并显示在Datagridview中。需要先清空当前Datagridview的显示结果,然后重新绑定数据源。
清空显示结果可以通过以下代码实现:
```csharp
this.dataGridView1.DataSource = null;
this.dataGridView1.Rows.Clear();
this.dataGridView1.Refresh();
```
重新绑定数据源可以通过以下代码实现:
```csharp
//重新读取数据源
DataTable dt = GetDataFromSql();
//重新绑定数据源
this.dataGridView1.DataSource = dt;
```
3.列的重新匹配
在重新绑定数据源的情况下,需要手动调整列显示的顺序、列的显示名称、列的数据类型等内容,不然就会出现列与数据源不匹配的情况。
通过DataGridView的Columns属性,可以访问到所有列的信息。根据实际需要,对列的属性进行调整即可完成列与数据源的匹配。
例如,我们可以通过以下代码重新调整列信息:
```csharp
//清空现有列
this.dataGridView1.Columns.Clear();
//重新添加列
DataGridViewColumn col1 = new DataGridViewTextBoxColumn();
col1.Name = \"ID\";
col1.HeaderText = \"编号\";
col1.DataPropertyName = \"ID\";
DataGridViewColumn col2 = new DataGridViewTextBoxColumn();
col2.Name = \"Name\";
col2.HeaderText = \"姓名\";
col2.DataPropertyName = \"Name\";
this.dataGridView1.Columns.Add(col1);
this.dataGridView1.Columns.Add(col2);
```
4.刷新的优化
在数据量较大的情况下,重新绑定数据源会消耗大量的性能,因此需要在刷新时进行优化。
解决方案:在刷新时,只更新需要刷新的行数据,不更新DataGridView所有数据。具体做法可以通过以下代码实现:
```csharp
//记录当前选中行
int selectedrowindex = dataGridView1.SelectedCells[0].RowIndex;
DataGridViewRow selectedRow = dataGridView1.Rows[selectedrowindex];
//重新读取数据源
DataTable dt = GetDataFromSql();
//根据需要刷新的行索引更新相应数据
this.dataGridView1.Rows.Clear();
foreach (DataRow dr in dt.Rows)
{
int index = this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[index].Cells[0].Value = dr[\"ID\"].ToString();
this.dataGridView1.Rows[index].Cells[1].Value = dr[\"Name\"].ToString();
//找到需要更新的行并更新
if (Convert.ToInt32(this.dataGridView1.Rows[index].Cells[0].Value) == Convert.ToInt32(selectedRow.Cells[0].Value))
{
for (int i = 0; i < this.dataGridView1.Rows[index].Cells.Count; i++)
{
this.dataGridView1.Rows[index].Cells[i].Selected = true;
}
}
}
```
以上就是关于Datagridview绑定数据更新刷新的详细介绍,希望对大家有所帮助。
不知这篇文章是否帮您解答了与标题相关的疑惑,如果您对本篇文章满意,请劳驾您在文章结尾点击“顶一下”,以示对该文章的肯定,如果您不满意,则也请“踩一下”,以便督促我们改进该篇文章。如果您想更进步了解相关内容,可查看文章下方的相关链接,那里很可能有你想要的内容。最后,感谢客官老爷的御览