從DataTable中拿幾條資料

來源:互聯網
上載者:User

最近相當忙,國慶前忙的一個頭兩個大,現在也是,市場部的需求真的多,哎~~~~~~~~~沒有發現什麼新的技術,只是在做這個問題的時候有新的發現,具體就拿一個簡單的例子來說吧:第一次從資料庫拿到一個DataTable後在後面的處理的過程中發現另外一個地方也要這個DataTable裡面的部分資料,例如說要這個DataTable中的前10條吧,我又不想從資料庫裡面再去讀取資料,想辦法從這個DataTable中拿出來,常用的可能就是迴圈一條條讀取,但是我還想走捷徑呢,google裡面找了下,也沒有發現什麼,最後想到DataTable有個DefaultView可以篩選一些紀錄的,那就給這個DataTable加一列吧,但是加一列怎麼加呢?在msdn裡面找到了啟示:

msdn中的給某個DataTable加一列並填儲值
 1private void AddAutoIncrementColumn()
 2{
 3    DataColumn column = new DataColumn();
 4    column.DataType = System.Type.GetType("System.Int32");
 5    column.AutoIncrement = true;
 6    column.AutoIncrementSeed = 1000;
 7    column.AutoIncrementStep = 10;
 8
 9    // Add the column to a new DataTable.
10    DataTable table = new DataTable("table");
11    table.Columns.Add(column);
12}
13

但是發現加了一列並沒有填儲值,都為空白的,沒有辦法,自己來加吧:看代碼中的for迴圈:

自己寫的簡單樣本
 1 void InitRepeateData()
 2        {
 3            string sql = @"SELECT TOP 12 * FROM Customer WITH (NOLOCK) ORDER BY sysno DESC";
 4            DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
 5            Repeater1.DataSource = dt;
 6            Repeater1.DataBind();
 7
 8            DataColumn col = new DataColumn("cyyID", typeof(int));         
 9            DataTable dtt = dt;
10            dtt.Columns.Add(col);
11            //迴圈給新加的一列填充有規律的值
12            for (int i = 0; i < dt.Rows.Count; i++)
13            {
14                dtt.Rows[i]["cyyID"] = i + 1;
15            }
16            DataView dv = dtt.DefaultView;
17
18            dv.RowFilter = "yyID <=5";
19            Repeater2.DataSource = dv;
20            Repeater2.DataBind();
21        }

終於看到效果了,哈哈,沒有什麼特別的,加一列就好了,減少了訪問資料庫的麻煩了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.