• ベストアンサー

VB6 DBと連結しないDataGrid

VB6の標準機能で、(行数可変の)一覧表示をするために、DataGridを使おうと思ったのですが、 どのサンプルを見ても、DBから取得したRecordSetをBindする方法しか載っていません。 そもそもVB6のDataGridとは、プログラム中でDB以外の情報を、挿入したり削除することって、出来ないのでしょうか? (行オブジェクトをAddするようなイメージです) よろしくお願いします。

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

  • ベストアンサー
回答No.1

はい、出来ません。 DBと関係無いデータを表示するときは、フレキシブルグリッドを使ってます。

hi_toro
質問者

お礼

やはりそうなのですね。 FlexGridでプログラムを作成しました。 ありがとうございました。

関連するQ&A

  • DBを使わないDataGrid

    初歩的な質問ですが、お願いします。 C#.NETで、DBに接続しない使い方で、行数可変なDataGrid的なものを使いたいのですが、ネットや本を見ていると、DataGridはDB接続やASPでの使うことが多いようです。 VB6には以下のようなフレキシブルグリッドというのがあるそうですが、.NETではどうでしょうか。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1043545

  • VB.NET2003のDataGridでコンボボックス

    こんにちは。 最近VB.NET(2003)を始めたばかりの初心者です。 DataGridにコンボボックスを作成する方法を探してまして、 http://dobon.net/vb/dotnet/datagrid/datagridcombobox.html に書いてあるようにDataGridTextBoxColumnクラスからの派生クラスを作成して呼び出してみました。 そうしたところ、コンボボックスが表示され、データのセットもきちんとできました。 しかし、そのコンボボックスで選択している値を取得する方法がわからなく困ってます。 たとえば Dim comboSorce As New DataTable("ComboBox") comboSorce.Columns.Add("DisplayMember", GetType(String)) comboSorce.Columns.Add("ValueMember", GetType(Integer)) comboSorce.Rows.Add(New Object() {"OK", 0}) comboSorce.Rows.Add(New Object() {"NG", 1}) というデータをコンボボックスにセットした場合 OK,NGという表示上の値は CStr(DataGrid1(row,col)) で取得できますが、実際の値を取得する方法がわかりません。 ご存知の方いらっしゃいましたら、ご教授ください。 それと、行毎に違う値(リストデータ)のコンボボックスを作成することはできますでしょうか? 以上です。よろしくお願いします。

  • AccessのDataGridコントロールについて

    初心者です。宜しくお願いします。 VB6.0でDataGridコントロールを使用する場合は、DataSourceプロパティにRecordsetオブジェクトを代入することによりDataGridコントロールに取得したレコードセットを表示しますが、 例) Set DataGrid1.DataSource = rs Access 2000ではDataGridコントロールにDataSourceプロパティが見当たりません。 どのようにしてレコードセットを表示するのでしょうか? Google等で検索しましたがVBの情報ばかりでAccessのDataGridコントロールに関して取り上げているページが見つかりません。 宜しくお願いします。

  • DataGridに表示されない

    VB6でMySQL4.1に接続して MySQL内にあるデータベース"sample"の テーブル"総合"をDataGridに表示したいのですが できません。 エラーメッセージは "実行時エラー '7004': 行セットにはブックマークを設定できません" とでます。 どうしたら表示されるのでしょうか? Private Sub form_load() Dim cn As ADODB.Connection 'オブジェクト Dim rs As ADODB.Recordset 'データベースに接続 Set cn = New ADODB.Connection 'データベース:Sheet1 cn.ConnectionString = "Provider=MSDASQL.1;" _ & "Data Source=sample" cn.Open 'レコードセットの取得 Set rs = New ADODB.Recordset rs.ActiveConnection = cn rs.Source = "総合" rs.CursorType = adOpenStatic rs.LockType = adLockOptimistic rs.Open Set DataGrid1.DataSource = rs End Sub

  • DataGridの行番号

    クライアント:Windows2000 Professional VB.net 2003 .net初心者です。 .net標準のDataGridコントロールにDB(Oracle)より取得したデータを表示させようとしております。 その際に、DBの項目のほかに、行番号を「1」から順に昇順で振っていきたいと思っております。 プロパティの設定で出来るものと思っておりましたが、どうもそうでないようで、実現の方法をご存知の方、いらっしゃいましたら、宜しくご教授お願いします。

  • VB2005 DataGrid1初期化について

    はじめまして。 VB2005 DataGrid1の初期化について質問があります。 下記処理を実行すると、 一度目のFormBを表示ではDataGridに正しく表示されます。 FormBにてボタンEndを押し、再度FormBを表示すると DataGridの表示が化けてしまいます。 (縦・横のスクロールバーが表示されなくなり、  列・行の幅も小さくなっている) DataGrid自体は何も設定していなく、 表示内容に対して自動でDataGridを調整してくれる ものだと思っておりました。 何か初期化(Me.DataGrid1.Refresh)などが問題なので しょうか? 長文になりましたが、何か少しでも解決策をお願いします。 Private Sub Form_Load 'FormBを表示  FormB.ShowDialog  '再度FormBを表示  FormB.ShowDialog Exit Sub Private Sub FormB_Load  Dim Aclone As New ADODB.Recordset  'Aclone設定  If Aclone .State = ADODB.ObjectStateEnum.adStateOpen Then   Aclone .Close()  End If  'DataGrid初期化  Me.DataGrid1.Refresh()  'XXXX(接続・テーブル情報)の内容をAcloneにセット)  Aclone = XXXX.clone  'AcloneをDataGridにセット  Me.DataGrid1.DataSource = Aclone Exit Sub Private Sub FormB_Btn_End  Me.Hide Exit Sub

  • .NET DataGridの行選択

    いつもお世話になっております。 VB.NET 2003 の標準コントロールDataGridを使用しておりますが、行選択(1行のみ・編集不可)が出来ないのですが、ご存知の方おられましたら、宜しくご教授お願いします。

  • VB2008・DataGridの表示について

    フォーム上にDataGridを設置してsqlcompactで作られたテーブルのデータを表示しようとして 以下のソースを実行すると、エラーになり表示できませんでした。 もし、原因がわかるかたがいらっしゃいましたら教えてくださると助かります。 表示するにあたり、テーブルの特定のカラムだけ表示して、ヘッダーを編集したい。 テーブルの全レコードではなくて対象レコードのみを表示 Dim cn As New System.Data.SqlServerCe.SqlCeConnection Dim SQL As System.Data.SqlServerCe.SqlCeCommand Dim db_sql As String ' テーブルスタイルを生成する Dim dgStyle As DataGridTableStyle = New DataGridTableStyle() dgStyle.MappingName = "表示用テーブル" ' 列スタイルを生成し、プロパティを設定する Dim col(4) As DataGridTextBoxColumn col(0) = New DataGridTextBoxColumn() col(0).HeaderText = "商品コード" col(0).MappingName = "商品コード" col(0).Width = 50 col(1) = New DataGridTextBoxColumn() col(1).HeaderText = "商品名" col(1).MappingName = "商品名" col(1).Width = 100 ' 列スタイルをテーブルスタイルに追加する dgStyle.GridColumnStyles.Add(col(0)) dgStyle.GridColumnStyles.Add(col(1)) ' テーブルスタイルをグリッドに追加する Me.DataGrid_Display.TableStyles.Clear() Me.DataGrid_Display.TableStyles.Add(dgStyle) 'DBのパスをセットしてオブジェクト化 cn.ConnectionString = "Data Source=" & DB_PATH & ";Password=" & DB_PASSWORD & ";Persist Security Info=True;" SQL = cn.CreateCommand 'データグリッドを表示する Dim dbadp As System.Data.SqlServerCe.SqlCeDataAdapter Dim dbtabl As DataTable Dim aa As DataSet db_sql = "SELECT syohinno, syohinryaku, suryo1, suryo2, suryo3 FROM porsj05_tempo ORDER BY date DESC" dbadp = New SqlCeDataAdapter(db_sql, cn) dbtabl = New DataTable dbtabl.Locale = System.Globalization.CultureInfo.InvariantCulture dbadp.Fill(dbtabl) Me.DataGrid_Display.DataSource = dbadp Me.DataGrid_Display.Refresh() エラー箇所 Me.DataGrid_Display.DataSource = dbadp エラー内容 Complex DataBinding は IList または IListSource のどちらかをデータソースとして受け入れます。 'System.ArgumentException' の初回例外が System.Windows.Forms.dll で発生しました。

  • VB2005でDB接続

    勉強で、VB2005でAccessDB接続するプログラムを作成しています。 目的は商品コードを入力すると、DBに売上げが計上され、今日の売上げ内訳一覧を表示する、ごくシンプルな練習用プログラムです。 基本的なコーディングは大丈夫ですが、教科書では非接続型・デザイナでのせてあり、VBサンプル集では接続型・非デザイナで、ややこしく混乱して、理解できずに困っています。何がどう違うんでしょうか。お願いいたします。

  • DataGrid使い方検証中

    DBからのデータを一覧表として表示することを考えています。 表示は、DBからのデータを取得したものをそのまま表示することもありますが、好きなように加工して、好きな位置に表示することもあります。 今まではVB6で某社のACTIVEXを利用して行っていました。 .NETになってDataGridがいろんなことができるようになったという情報をもらったので、調べているのですが、いまいち欲しい情報が得られません。ということはできないのかなあ? やりたいこと 1、ただの表として、好きな位置に好きなデータを表示させる 2、セルに、DBと連動していない、ボタンや、チェックボックスを配置する その他色々あるのですが、とりあえず上記のやりたいことができれば、うれしいのですが。 できる場合は、方法も教えてください。

専門家に質問してみよう