2017-07-27 12:12:56
Re④:グリッドの編集
こんにちは、お世話になっています。
何をしたいかと言いますとグリッドで項目を移動したときに入力属性(数字、英字)を設定したいのです。 ■本文わり■ コードを見ても今ひとつ何をどのようにしたいのかがよく分かんないのでアレなんですけど・・・
「矢印で移動したところ列(列を表示)と実際の場所(画面でのカーソル現在地)とがあってない」とゆうことはないハズです。 考えられるコトとの第一としては、矢印キーでセルの移動を行った場合、「キー押した時」のイベントで「列を表示」すると、移動前の列が表示されちゃうってゆう意味でしょうか。これは、バグではなく仕様と思った方がよいでしょう。 「キー離した時」のタイミングで列の表示を行えばOKですよ。 第二に、載せてくださったコードでは、キー押した時のイベントの中で、列をプラスしたりマイナスしたりされてますケド、これはよろしくありません。 だって、もともと矢印キーに、グリッドのセルを進めたり戻したりする機能があるんだから、これをやるとセルが二個飛んじゃったりとかしちゃわないですかね? しかも、このようにしていると、編集をオンにした場合、矢印キーにはセルの移動だけではなく、データの内容を編集するためにカーソルを動かしたりする役割もあるわけなので、そこでもいろいろとおかしなコトになっちゃいますよね? (・・・それで、グリッドではなくフォームのイベントを使おうとしている?????) このコードで、最終的にいったい何がどのようになるようにしたいのかについてのご説明が無いと、これ以上はなんとも;;; こんにちは、今回お世話になっています。
原料更新グリッドについて
いろいろテストしているので、ちょっと解りにくいかもしれませんが、該当の場所のソースを書き込みましたので、良きアドバイスお願いします。 編集はオン 自身に注目 アイテムは、原料更新データ 原料更新フォームを表示 原料更新フォームのキー押した時は~ もし、(自身→押された仮想キー=27)ならば 自身→押されたキー=空 原料更新フォームを閉じる 違えば もし、(自身→押された仮想キー=13)ならば もし、(原料更新グリッドの列<項目数)ならば もし、原料更新グリッドの列=0ならば XEREAに0を代入 属性テーブル[XEREA]をキー属性に代入 ここまで 原料更新グリッドの列=原料更新グリッドの列+1 違えば 原料更新グリッドの列=0 属性テーブル[XEREA]をキー属性に代入 ここまで 「{原料更新グリッドの列}」をXEREAに代入 「キー属性={キー属性}、属性テーブル{XEREA}={属性テーブル[XEREA]}」を言う もし、属性テーブル[XEREA]<>キー属性ならば # 『{IME}』をキー送信 属性テーブル[XEREA]をキー属性に代入 ここまで 原料更新グリッドのセルサイズ自動調節 違えば ########### 矢印処理 ########### もし、(自身→押された仮想キー=37)ならば もし、(原料更新グリッドの列>0)ならば # 「計算前={原料更新グリッドの列}」を言う 原料更新グリッドの列=原料更新グリッドの列-1 # 「計算後={原料更新グリッドの列}」を言う 違えば 原料更新グリッドの列=項目数 ここまで 「{原料更新グリッドの列}」をXEREAに代入 「キー属性={キー属性}、属性テーブル{XEREA}={属性テーブル[XEREA]}」を言う もし、属性テーブル[XEREA]<>キー属性ならば 『{IME}』をキー送信 属性テーブル[XEREA]をキー属性に代入 ここまで 違えば もし、(自身→押された仮想キー=39)ならば もし、(原料更新グリッドの列<項目数)ならば もし、原料更新グリッドの列=0ならば XEREAに0を代入 属性テーブル[XEREA]をキー属性に代入 ここまで 原料更新グリッドの列=原料更新グリッドの列+1 違えば 原料更新グリッドの列=0 XEREAに0を代入 属性テーブル[XEREA]をキー属性に代入 ここまで 「原料更新グリッドの列={原料更新グリッドの列}」を言う 「{原料更新グリッドの列}」をXEREAに代入 # 「キー属性={キー属性}、属性テーブル[XEREA]={属性テーブル[XEREA]}」を言う もし、属性テーブル[XEREA]<>キー属性ならば 『{IME}』をキー送信 属性テーブル[XEREA]をキー属性に代入 ここまで # もし、原料更新グリッドの列<>0ならば # 原料更新グリッドの列=原料更新グリッドの列-1 # ここまで ここまで ここまで ここまで ここまで |