はじめまして。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上では入れ替わったように見ることが出来ません。
どなたかご教授を(^人^)
なんかこんがらがってます・・・
因みに、DataGrid には、何かのデータベースからの結果を
表示されたはずと理解していいでしょうか?
では、表のある部分のデータの順序を変更したいなら、元
のデータベースのフィールドデータを入れ替えて、その結
果を再度、DataGridに反映させれば・・・
と言うことだと思いますが、DataGridをどのように使いた
いのか、ちょっとこんがらがってしまって・・・
ご検討下さい。
以上。
岡田 之仁さん、ありがとうございました。
試行錯誤の結果、どうにかできました。
最初に書いたプログラムとはかけ離れてしまいましたが。。。
ここれレスを書き込んだ時にDataGridを勘違いして考え込んでしまっていたので。。。
岡田 之仁さんのおかげで自分の考えの違いがわかりました。
ありがとうございます。