• 締切済み

データ グリッド (DataGrid) コントロールの編集可否を列単位に設定する

データ グリッド (DataGrid) コントロールには、AllowUpdateというプロパティがありますが、このプロパティのTrue,Falseの指定は全ての列について適用されてしまいます。 これを例えば列Aは編集可能、列Bは編集不可というように列ごとに指定する方法があればご教授願います。

みんなの回答

  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

具体的なプロパティ名は忘れましたが。。。 デザイナー上で、列を指定しロック(だったかな?)を設定すれば編集不可になりませんでしたっけ? もう使用していないので自分で確認できません。m(._.)m ヘルプを参照しながら、それっぽいのを順に試してみる!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • DataGridコントロールのデータのコピー

    いつもお世話になっております。 VisudalBasic6の開発環境で Microsoft DataGrid Control(SP6)のDataGridコントロールを使用して、 Oracleデータベースから得られたテーブルのデータを表示させているのですが、 DataGridコントロールに表示されたすべてのデータをコピーし、エクセルなどにペーストすることはできないでしょうか? 方法をご存知の方おられましたらご教授願えないでしょうか?

  • Accessにて、コントロールの編集可能、使用可能の設定

    Access2002を使用しています。 表形式で作成したフォームで、 Aというチェックボックスに、チェックが入っている場合  Bのコントロールは入力可能、  Cのコントロールは入力不可 チェックが入っていない場合、  Bのコントロールは入力不可、  Cのコントロールは入力可能 というふうにしたいのですが、 Private Sub A_AfterUpdate()   If A = -1 Then     B.Locked = False     B.Enabled = True     C.Locked = False     C.Enabled = False   Else     B.Locked = False     B.Enabled = False     C.Locked = False     C.Enabled = True   End If End Sub 上記のように設定すると、すべてのレコードに対しての設定になってしまいます。 1件ずつのレコードに対して、条件を設定するにはどのようにすればよいでしょうか? よろしくお願いいたします。

  • VB.net webアプリケーションでのDataGridコントロールの使い方

    VB.net2003 os WinXP Pro webアプリケーションでのDataGridコントロールの使い方ですが。 グリッドの左のほうに「編集」や「削除」のボタンを出すことができたのですが、「編集」や「削除」のボタンを押したときのイベントを拾うことができません。なぜでしょうか?DataGrid1_EditCommand()イベントなど通りません。 あと、イベントが拾えたとして、押した行の位置とかを調べることができるのでしょうか?

  • フレキシブルグリッドコントロールについて

    フレキシブルグリッドコントロールをスクロールすると行もしくは、列単位でスクロールします。これを任意の位置で固定させるようなスクロールは出来ないでしょうか?(一番左に表示される列が、とぎれるようなスクロールをしたい。と言うことです) 出来ないなら、VBに標準で付いてる表のコントロールでこれが出来るコントロールはないでしょうか?表のデータに対しては特に対した処理はしないのですが。

  • DataGridで特定行に対する背景色の設定

    お世話になります。 vb6で開発中なのですが、DataGridの行単位での背景色設定について質問させて下さい。 DataGridにはOracleで生成したViewをレコードソースに設定し、それを表示しているのですが、あるカラムの値が指定文字列を含む場合は、その行の背景色を変更して表示したいと考えております。 こういった事は可能でしょうか? 可能であれば、どのような方法が取れるかご教授願いたいです。 よろしくお願いいたします。

  • htmlコードをコントロール単位で編集

    閲覧ありがとうございます。 ここ数日、asp.net(VB)でどうしてもやりたいことがあり、調べているのですが、解決策が見つからずこちらで質問させて頂きました。 取得したHTMLのコードをコントロールに変換して、プロパティを編集し、編集した結果をHTMLで再度取得するということをコード上で行いたいのです。 (HTMLのコードの取得は出来ています。なお、HTMLのコードでしかデータを貰えない状態です。) 参考になるサイトや方法やコード等ありましたら教えて頂けると幸いです。 今後のスキルアップのためにも是非、習得したいので情報をお願い致します。

  • データコントロールのRefreshができません

    フォームにデータコントロール(以下Data1)と MSFlexGrid(以下グリッド)を貼り付けて MDBのデータを表示しています。 コマンドボタン押下のタイミングで、該当テーブルを更新し、 グリッドに更新されたデータを再表示しようとしていますが、 Data1にRefreshをかけてもグリッドのデータが更新されません。 何かご存知の方がいらっしゃったら、ご教授いただければと思います。 グリッドのDataSourceプロパティにはData1が設定してあります。 テーブルですが、どれも2件ずつしか入っていません。 フォームロード時の表示はうまく動作しています。 インタープリタでステップ実行すると、きちんと更新データが表示されます。 コードです(簡略化してあります)↓ sub Form_Load with Data1 .Database = MDB名 .RecordSource = "SELECT x.a,y.b FROM x,y WHERE x.a=y.a" end with end sub sub Command1_Click() ここでMDB更新  (複数件処理のためSQLにて更新処理を実施しています。   トランザクション管理ありです。) with Data1 .Recordset.Requery .Refresh end with end sub 環境です↓  VB6.0 SP6  DAO3.6  Access2000  Win2000 よろしくお願いいたします。

  • 【Access】コントロールのプロパティをまとめて設定する方法について

    ソース内で一つのコントロールに複数のプロパティを設定しており、 コントロールが複数あるため、関数内でコントロールのプロパティを設定したいと思いました。 よって、下記のようなソースを記述しましたが、 「NULLの使い方が不正です。」と表示されてしまいました。 【ソース】 Private Sub Form_Load() ' Me.txt_1.Enabled = False ' Me.txt_1.Locked = True SET_LOCK (Me.txt_1) SET_LOCK (Me.txt_2) End Sub Public Function SET_LOCK(CtrName As String) CtrName.Enabled = False CtrName.Locked = True End Function その為、上記のように、コントロール名を関数に渡し、 関数内でプロパティをまとめて設定する方法をご存知の方がいらっしゃいましたら、 ご教示いただければと思います。 よろしくお願いします。

  • ExcelUserForm,Txtデータを列取得

    Txtファイルにあるデータがコンマで区切られています。並びをAからJとします。Aの前には日付が入っています。複数のテキストファイルを持ちいります。 ExcelのUserFormを使い、テキスト(拡張子Txt)のデータを列ごと取得しようと思っております。たとえば図のようにBのチェックボックスにチェックを入れ、ExecuteButton1を押すと「-509999.9987」データと日付のみ、新しいExcelファイルにデータを入れるという方法です。 並びとしましてUserForm1の中にPage1がありその中にFrame1が入って、Checkboxがあります。 テキストオープン>新規のExcelシートを作成する>選択したタグを列で取得する>新規のExcelシートに取得したデータを詰めて張り付ける(その時日付とデータを張り付ける)。 たとえばチックボックス1と4にチェックが入っていたとします。コンマの間と間のデータを取得しようとすると、1列目のデータは日付なので、2列目と5列目を取得したいと思いますがうまくいきません。  チェックボックスの1番目にレ点があると下記のようになります。 If Me.Controls("CheckBox1").Value = True Then If Me.Controls("CheckBox2").Value = True Then If Me.Controls("CheckBox3").Value = True Then して行くと、200以上のチェックボックスがある場合それを200以上作らないといけません。 また、下記のようにすると。 ....................... For i = 1 To 200 If Me.Controls("CheckBox" & i).Value = True Then ~~~~~~~~~ else ~~~~~~~~~ next i .......................... たとえば1と4列目が正(True)の場合であっても、テキストの中身のデータを的確に2列目と5列目を取得するのが難しいです。 どなたか簡単にできる方法を教えていただけますでしょうか。どうぞよろしくお願いいたします。

  • グリッドの内容をコピーしたい。

    VB2005、FlexGrid.NET環境です。 SQLを投げて、FlexGridに表示されたデータをCSVに出力するということを やっています。 CSVの出力は、グリッドを指定すれば、その内容をCSVに出力する関数が 用意されているので、それを用いて行っています。 グリッドにはいくつか非表示に設定している列(VisibleをFalseに) があるのですが、CSV出力用の関数を使うと、その非表示の列までCSVに 出力されるので困っています。 たとえば A B C 1 1 1 2 2 2 3 3 3 B列が非表示設定にしてあっても、ABCすべてがCSVに出てくるのです。 方法としては、内部的にCSVに出力するためのグリッドを作り、(上の 例でいえば、A、CのデータをコピーしてB列がないグリッドを作る) それをCSVさせる…というやり方しかないかと思うんですが、この 表示されているグリッドの中身(ヘッダも)を列を選択してコピーする という処理がうまく作れません。 サンプル的にコードを交えて教えていただけないでしょうか? 宜しくお願いします。