【求教】小小的有关问题,Linq to DataTable,有时间的麻烦进来看一下
【求教】小小的问题,Linq to DataTable,有时间的麻烦进来看一下
是这样子的,我现在有个DataTable,我要把它通过Linq分页然后再绑定到dataGridView上,由于不太熟悉Linq,所以我不知道该怎么写..麻烦好心人贴个代码,最好给个学习Linq的思路!
------解决方案--------------------
我从来不使用DataTable、DataSet,我都是使用强类型的对象。
随便写一下,肯定有更好更简单的写法:
------解决方案--------------------
是这样子的,我现在有个DataTable,我要把它通过Linq分页然后再绑定到dataGridView上,由于不太熟悉Linq,所以我不知道该怎么写..麻烦好心人贴个代码,最好给个学习Linq的思路!
DataTable dt = (DataTable)dataGridView1.DataSource;
dataGridView1.DataSource = ??.Skip<PeopleInfo>(pageSize * pageNum)
.Take<PeopleInfo>(pageSize);
------解决方案--------------------
我从来不使用DataTable、DataSet,我都是使用强类型的对象。
随便写一下,肯定有更好更简单的写法:
var nt = dt.Clone();
dt.Rows.OfType<DataRow>()
.Skip(pageSize * ( pageNum-1) )
.Take(pageSize )
.ToList()
.ForEach(r => nt.Rows.Add(r));
------解决方案--------------------
using System.Data;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
var dg = new DataGridView();
dg.Dock = DockStyle.Fill;
Controls.Add(dg);
var dt = new DataTable {Columns = {new DataColumn("c1"), new DataColumn("c2")}};
dt.Rows.Add(1, 2);
dt.Rows.Add(3, 4);
dt.Rows.Add(5, 6);
dg.DataSource = dt.AsEnumerable().Skip(1).CopyToDataTable();