- PR -

DataViewのDefaultViewとRowsについて

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 66
投稿日時: 2006-07-14 15:21
いつもお世話になっております。

DataViewの値をセッションに格納し、値を取得しているのですが
フラグが1の場合はDataViewに格納した並び順で値を取得し
フラグが2の場合はDataView内でソートした順で値を取得したいのですが、

DataView DataViewTemp = (DataView)Session["DataView"];

現状は
if (FLAG=="1")
{
DataViewTemp.Table.Rows[0][0];
  DataViewTemp.Table.Rows[0][1];
DataViewTemp.Table.Rows[0][2];
}
else
{
DataViewTemp.Table.DefaultView[0][0];
DataViewTemp.Table.DefaultView[0][1];
DataViewTemp.Table.DefaultView[0][2];
}
で値を区別してます。

これを共通で使用するにはどのようにすればいいのでしょうか。
下記のようなイメージです。

if (FLAG=="1")
{
??? = DataViewTemp.Table.Rows;
}
else
{
??? = DataViewTemp.Table.DefaultView
}

???[0][0];
???[0][1];
???[0][2];
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-07-14 15:39
> DataViewTemp.Table.DefaultView[0][0];

これは

DataViewTemp[0][0];

で十分な気がしますが。。。

で、.NET Framework 2.0を利用しているのであれば、DataViewのToTableメソッドが
利用できそうですね。

DataTable dt;

if (FLAG=="1")
{
dt = DataViewTemp.Table;
}
else
{
dt = DataViewTemp.ToTable();
}

dt.Rows[0][0];


こんな感じかな。
未記入
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 66
投稿日時: 2006-07-14 17:03
どうも有難うございます!!
教えて頂いた方法でうまくいきました。
1

スキルアップ/キャリアアップ(JOB@IT)