C#面:DataGrid 的 DataSource 可以连接什么数据源

DataGrid 的 DataSource 属性可以连接多种数据源,包括但不限于以下几种:
  • DataTable:可以将一个DataTable对象作为DataGrid的数据源。DataTable是一个内存中的表格,可以通过编程方式创建、填充和操作数据。

        示例代码:        

DataTable dataTable = new DataTable();
// 添加列
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
// 添加行
dataTable.Rows.Add(1, "大毛");
dataTable.Rows.Add(2, "二毛");

dataGrid.DataSource = dataTable;

 

  • DataSet:可以将一个DataSet对象作为DataGrid的数据源。DataSet是一个内存中的数据容器,可以包含多个DataTable。

        示例代码:

DataSet dataSet = new DataSet();
//创建DataTable
DataTable dataTable = new DataTable("Students");
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
//添加行
dataTable.Rows.Add(1, "大毛");
dataTable.Rows.Add(2, "二毛");
//将DataTable添加到DataSet中
dataSet.Tables.Add(dataTable);

dataGrid.DataSource = dataSet;
dataGrid.DataMember = "Students";

 

  • BindingList:可以将一个BindingList对象作为DataGrid的数据源。BindingList是一个可绑定的集合,可以实现数据的增删改查操作。

        示例代码:

BindingList students = new BindingList();
students.Add(new Student { ID = 1, Name = "大毛" });
students.Add(new Student { ID = 2, Name = "二毛" });

dataGrid.DataSource = students;

 

  • IList接口的实现类:可以将实现了IList接口的集合类作为DataGrid的数据源,例如List、ObservableCollection等。

        示例代码:

List students = new List();
students.Add(new Student { ID = 1, Name = "大毛" });
students.Add(new Student { ID = 2, Name = "二毛" });

dataGrid.DataSource = students;

除了以上几种常见的数据源,还可以通过自定义数据源来连接其他类型的数据,只要实现了IEnumerable 接口或者继承自 IEnumerable 接口的集合类都可以作为DataGrid的数据源。

你可能感兴趣的:(C#面试题,c#,c#,开发语言)