如何把List转成GetDataSource<DevExpress.DataAccess.Sql.SqlDataSource
时间: 2023-10-24 18:28:17 浏览: 112
首先,需要创建一个空的SqlDataSource对象。然后,将List中的数据转换为DataTable对象,最后将DataTable对象设置为SqlDataSource的数据源。
以下是示例代码:
```
// 创建一个空的SqlDataSource对象
DevExpress.DataAccess.Sql.SqlDataSource dataSource = new DevExpress.DataAccess.Sql.SqlDataSource();
// 将List转换为DataTable
List<MyClass> myList = new List<MyClass>();
// 填充myList
DataTable dataTable = new DataTable();
foreach (var prop in typeof(MyClass).GetProperties())
{
dataTable.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
}
foreach (var item in myList)
{
DataRow row = dataTable.NewRow();
foreach (var prop in typeof(MyClass).GetProperties())
{
row[prop.Name] = prop.GetValue(item);
}
dataTable.Rows.Add(row);
}
// 设置SqlDataSource的数据源为DataTable
dataSource.ConnectionOptions.DbProviderName = "System.Data.SqlClient";
dataSource.ConnectionOptions.ServerName = "ServerName";
dataSource.ConnectionOptions.DatabaseName = "DatabaseName";
dataSource.Queries.Add(new DevExpress.DataAccess.Sql.SqlQuery("SELECT * FROM MyTable"));
dataSource.Fill(dataTable);
```
请根据自己的实际情况修改代码。
阅读全文