• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:gridでデータ削除後に上へ1件分詰めて表示する方)

gridでデータ削除後に上へ1件分詰めて表示する方

このQ&Aのポイント
  • gridでデータ削除後に上へ1件分詰めて表示する方法のアルゴリズムについて質問します。
  • プログラム中のコードを解説しながら、データ削除後に行を1つ上に詰めて表示する方法を教えてください。
  • flexgridを使用したプログラムで、削除された行の下の行を上に詰めて表示する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • taro_y
  • ベストアンサー率65% (17/26)
回答No.1

flexgridを使ったことがないので、考え方だけ答えさせていただきます。 1,2,3,4,5行のデータがあるときに2を消したら3,4,5はそれぞれ一つ上の行にデータを動かす必要がありますよね? その場合、3から順に動かしていかないと、下の行がまだデータのある行を上書きしてしまいます。 tkwavekさんが書かれているソースだと5から動かしているため、生きているデータが消えてしまっています。 また、tempCodeやtempNameに格納されたデータが使用されていないため無意味です。 Dim i As Integer i = Row ' 一つずつ上に上げていく For i to flexgridList.Rows.Count - 2  flexgridList(i, "code") = flexgridList(i + 1, "code")  flexgridList(i, "name") = flexgridList(i + 1, "name") Next ' 最終行を空白にする i = flexgridList.Rows.Count - 1 flexgridList(i, "code") = "" flexgridList(i, "name") = "" こんな感じじゃないでしょうか? flexgridやflexgridListがなんなのか理解せずに答えているため、 ずれた回答をしていたら済みません。

tkwavek
質問者

お礼

ご回答ありがとうございます 回答していただいたプログラムと flexgridの若干のくせを修正するために下記コードを追加することで 実現しました。ありがとうございました。 flexgridList.row = 0 flexgridList.col = 0

関連するQ&A