- PR -

更新した行の取得

1
投稿者投稿内容
キラ
大ベテラン
会議室デビュー日: 2005/12/10
投稿数: 104
投稿日時: 2006-03-24 10:35
いつもお世話になっております。

C# Winフォームで開発しております。
下記のように記述することで更新したかを取得できます。
ソートをしない場合は問題ありません。
ソートをしてもその並び通りには更新状態を取得できません。
あくまで最初に表示された順番で更新状態を見ているようです。
これをソートした並び順に更新状態を取得することは可能でしょうか。
ご存知の方がいらっしゃったらご教授ください。


DataTable V_cldt;     
     ・
     ・
     ・
foreach(DataRow dr in V_cldt.Rows)
{
   string ttt = dr.RowState.ToString();
}
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-24 10:50
引用:

キラさんの書き込み (2006-03-24 10:35) より:

ソートをしてもその並び通りには更新状態を取得できません。
あくまで最初に表示された順番で更新状態を見ているようです。
これをソートした並び順に更新状態を取得することは可能でしょうか。


CurrencyManager を使って完全手作業になっちゃうかなぁ。(~_~;)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-03-24 10:52
ソートをどのように行っているかによって違う場合があると思いますが、
通常ソートはDataTableの中身自体を変えているわけではなく、そのViewを
変えているだけだと思うので、DataTableのDefaultViewを通して
DataRowViewを順番にとりだす、といったことができるのではないかと思います。
キラ
大ベテラン
会議室デビュー日: 2005/12/10
投稿数: 104
投稿日時: 2006-03-24 12:25
お世話になります。
引用:

どっとねっとふぁんさんの書き込み (2006-03-24 10:52) より:
ソートをどのように行っているかによって違う場合があると思いますが、
通常ソートはDataTableの中身自体を変えているわけではなく、そのViewを
変えているだけだと思うので、DataTableのDefaultViewを通して
DataRowViewを順番にとりだす、といったことができるのではないかと思います。


上記方法で解決出来ました。
ありがとうございました。
1

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