DataViewを使ってみた。
- DataTable.DefaultViewでDataViewを取得できる。
- Sortプロパティにカラム名をセットするとソートされる。ASCとかDESCとか付けられる。デフォルトはASC。コンマで区切ると複数キーの指定ができる。
- DataView.Countで行の数を取得できる
- DataView[index]とすると、index番目の行にアクセスできる。
- DataView.ToTable()でDataTableに変換できる。
using System;
using System.Data;
namespace sample
{
public class DataViewSample
{
public static void Main(string[] args) {
new DataViewSample().Run();
}
public void Run() {
DataTable table = new DataTable();
table.Columns.Add("name", typeof(String));
table.Columns.Add("age", typeof(int));
String[] names = {"taro", "jiro", "saburo", "shiro", "goro"};
int[] age = {100, 15, 14, 13 ,12};
for (int i = 0; i < names.Length; i++) {
DataRow row = table.NewRow();
row["name"] = names[i];
row["age"] = age[i];
table.Rows.Add(row);
}
DataView view = table.DefaultView;
view.Sort = "age";
// iterate items in DataView: with "for" loop
for (int i = 0; i < view.Count; i++) {
Console.WriteLine("{0} {1}", view[i]["name"], view[i]["age"]);
}
// iterate imtes in DataView: with "foreach" loop
foreach (DataRowView row in view) {
Console.WriteLine("{0} {1}", row["name"], row["age"]);
}
}
}
}
0 件のコメント:
コメントを投稿