从DataTable中取前几条数据

摘要:
让我们举一个简单的例子:第一次从数据库中获取DataTable时,我发现另一个地方在稍后的处理过程中也需要DataTable中的一些数据。例如,我想要DataTable中的前10项。我不想再次从数据库中读取数据,但我想找到一种方法将其从DataTable中取出。常见的方法是逐个读取数据,但我还是想走捷径。我在Google中找不到任何东西,最后认为DataTable有一个DefaultView,可以过滤一些记录。然后我将向DataTable中添加一列,但如何添加列?

具体就拿一个简单的例子来说吧:第一次从数据库拿到一个DataTable后在后面的处理的过程中发现另外一个地方也要这个DataTable里面的部分数据,例如说要这个DataTable中的前10条吧,我又不想从数据库里面再去读取数据,想办法从这个DataTable中拿出来,常用的可能就是循环一条条读取,但是我还想走捷径呢,google里面找了下,也没有发现什么,最后想到DataTable有个DefaultView可以筛选一些纪录的,那就给这个DataTable加一列吧,但是加一列怎么加呢?在msdn里面找到了启示:

从DataTable中取前几条数据第1张从DataTable中取前几条数据第2张msdn中的给某个DataTable加一列并填充值
 1从DataTable中取前几条数据第3张private void AddAutoIncrementColumn()
 2从DataTable中取前几条数据第4张从DataTable中取前几条数据第5张从DataTable中取前几条数据第6张{
 3从DataTable中取前几条数据第7张    DataColumn column = new DataColumn();
 4从DataTable中取前几条数据第7张    column.DataType = System.Type.GetType("System.Int32");
 5从DataTable中取前几条数据第7张    column.AutoIncrement = true;
 6从DataTable中取前几条数据第7张    column.AutoIncrementSeed = 1000;
 7从DataTable中取前几条数据第7张    column.AutoIncrementStep = 10;
 8从DataTable中取前几条数据第7张
 9从DataTable中取前几条数据第7张    // Add the column to a new DataTable.
10从DataTable中取前几条数据第7张    DataTable table = new DataTable("table");
11从DataTable中取前几条数据第7张    table.Columns.Add(column);
12从DataTable中取前几条数据第16张}

13从DataTable中取前几条数据第3张

但是发现加了一列并没有填充值,都为空的,没有办法,自己来加吧:看代码中的for循环:

从DataTable中取前几条数据第18张从DataTable中取前几条数据第19张自己写的简单示例
 1从DataTable中取前几条数据第3张 void InitRepeateData()
 2从DataTable中取前几条数据第4张从DataTable中取前几条数据第5张        从DataTable中取前几条数据第6张{
 3从DataTable中取前几条数据第7张            string sql = @"SELECT TOP 12 * FROM Customer WITH (NOLOCK) ORDER BY sysno DESC";
 4从DataTable中取前几条数据第7张            DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
 5从DataTable中取前几条数据第7张            Repeater1.DataSource = dt;
 6从DataTable中取前几条数据第7张            Repeater1.DataBind();
 7从DataTable中取前几条数据第7张
 8从DataTable中取前几条数据第7张            DataColumn col = new DataColumn("cyyID"typeof(int));         
 9从DataTable中取前几条数据第7张            DataTable dtt = dt;
10从DataTable中取前几条数据第7张            dtt.Columns.Add(col);
11从DataTable中取前几条数据第7张            //循环给新加的一列填充有规律的值
12从DataTable中取前几条数据第7张            for (int i = 0; i < dt.Rows.Count; i++)
13从DataTable中取前几条数据第34张从DataTable中取前几条数据第35张            从DataTable中取前几条数据第6张{
14从DataTable中取前几条数据第7张                dtt.Rows[i]["cyyID"= i + 1;
15从DataTable中取前几条数据第38张            }

16从DataTable中取前几条数据第7张            DataView dv = dtt.DefaultView;
17从DataTable中取前几条数据第7张
18从DataTable中取前几条数据第7张            dv.RowFilter = "yyID <=5";
19从DataTable中取前几条数据第7张            Repeater2.DataSource = dv;
20从DataTable中取前几条数据第7张            Repeater2.DataBind();
21从DataTable中取前几条数据第16张        }

终于看到效果了,哈哈,没有什么特别的,加一列就好了,减少了访问数据库的麻烦了。

免责声明:文章转载自《从DataTable中取前几条数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CentOS6.5安装Mysql提示 missing requires of libmysqlclient.so.16()(64bit)(转载)关于php性能优化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

asp.net2.0导出pdf文件完美解决方案[转载]

PDF简介:PDF(Portable Document Format)文件格式是Adobe公司开发的电子文件格式。这种文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还是在苹果公司的Mac OS操作系统中都是通用的。这一特点使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说...

DataTables warning (table id = 'myTable'): Requested unknown parameter '0' from the data source for row 0

第一种方式:不用在js里设置列Html: <table id="myTable"> <thead> <tr> <th>Title-1</th> <th>Title-2</th&...

NPOI导出EXCEL数据量大,分多个sheet显示数据

//NPOIHelper  类关键代码 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.IO;using NPOI.HSSF.UserModel;using System.Coll...

DataTable/DataSet 与XML 互转

    /**//// <summary>    /// 把DataSet、DataTable、DataView格式转换成XML字符串、XML文件    /// </summary>    public class DataToXml    {        /**//// <summary>        /// 将D...

jquery datatable 参数

DataTables(http://www.datatables.net/)应该是我到目前为止见过的,功能最强大的表格解决方案(当然,不计算其它整套框架中的table控件在内)。 先把它主页上写的特性翻译罗列如下: 可变长度分页;动态过滤;多列排序,带数据类型检测功能;列宽度的智能处理;从多种数据源获取数据(DOM,js Array, ajax file,...

将dataGridView数据转成DataTable

如已绑定过数据源: DataTable dt = (dataGridView1.DataSource as DataTable);如未绑定过数据源: public DataTable GetDgvToTable(DataGridView dgv) { DataTable dt = new DataTable();...