DataGridで上下のセルを入れ替えるには?

解決


xyz  2004-01-19 17:02:21  No: 111414  IP: [192.*.*.*]

はじめまして。xyzです。
過去ログに同じ題名の内容があったのですが、解決方法が書いてなかったので投稿しました。
やりたいことはセルを選択してUPボタンを押すと選択しているセルとその上のセルの中身とを入れ替えたいと思っています。
ソースは
*********************************************************************
Dim XCell As Integer = DataGrid1.CurrentCell.RowNumber  '選択セルの行ヘッダーを取得
Dim X As Integer                     '選択セル行の一つ上の行セルを取得

' UPボタンクリック時の処理
If XCell > 0 Then
   X = XCell - 1
   Dim CDRow As DataRow = DataSet11.AddImage.Rows(XCell)  'XCell行のセルのデータを取得
   Dim DRow As DataRow = DataSet11.AddImage.Rows(X)      'X行のセルのデータを取得

   Dim CS As Integer
   Dim DS As Integer

   CS = CDRow("Sequence")
   DS = DRow("Sequence")

   ' XCell行目のセルの編集
   Dim RecAdd As System.Data.DataRow
   DataSet11.AddImage.Rows(XCell).BeginEdit()
   DataSet11.AddImage.Rows(XCell)("Sequence") = DS
   DataSet11.AddImage.Rows(XCell).EndEdit()
   ' X行目のセルの編集
   DataSet11.AddImage.Rows(X).BeginEdit()
   DataSet11.AddImage.Rows(X)("Sequence") = CS
   DataSet11.AddImage.Rows(X).EndEdit()

   OleDbDataAdapter1.Fill(DataSet11)
   OleDbDataAdapter1.Update(DataSet11)

Else
*********************************************************************

以上です。CS、DSともに値が格納されていることまで確認できていますが、
実際のDataGrid上では入れ替わったように見ることが出来ません。
どなたかご教授を(^人^)

編集 削除
岡田 之仁  2004-01-21 03:33:29  No: 111415  IP: [192.*.*.*]

なんかこんがらがってます・・・

因みに、DataGrid には、何かのデータベースからの結果を
表示されたはずと理解していいでしょうか?

では、表のある部分のデータの順序を変更したいなら、元
のデータベースのフィールドデータを入れ替えて、その結
果を再度、DataGridに反映させれば・・・

と言うことだと思いますが、DataGridをどのように使いた
いのか、ちょっとこんがらがってしまって・・・

ご検討下さい。

以上。

編集 削除
xyz  2004-01-21 15:53:57  No: 111416  IP: [192.*.*.*]

岡田 之仁さん、ありがとうございました。
試行錯誤の結果、どうにかできました。
最初に書いたプログラムとはかけ離れてしまいましたが。。。

ここれレスを書き込んだ時にDataGridを勘違いして考え込んでしまっていたので。。。
岡田 之仁さんのおかげで自分の考えの違いがわかりました。
ありがとうございます。

編集 削除