• ベストアンサー

DataGridViewの文字のスタイル(左寄せなど)について

お世話になります。VB2005です。 DataGridViewで、列のデータの内容によって、文字の左寄せや右寄せをやりたいと思いますが、 どのようにすればよろしいのでしょうか。 Column1:右寄せ、Column2:左寄せ のようにしたいのです。 よろしくお願いいたします。

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

  • ベストアンサー
  • mo_gu
  • ベストアンサー率51% (56/109)
回答No.1

DefaultCellStyleで指定してあげればいいと思います。 .Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft

tenko_am
質問者

お礼

ありがとうございました。 とても助かりました。 また、よろしくお願いいたします。

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

関連するQ&A

  • 【datagridview のDataSourceでdatagridv

    【datagridview のDataSourceでdatagridviewにデータを表示して、URLをハイパーリンクで表示する。】 いつもお世話にになります。 さて、DBにテーブルがあり、それにはひとつのカラムしかないと仮定します。そのカラムの内容はURL(例:http://www.okwave.jp)です。そのテーブルをDataSourceに設定してdatagridviewに表示する事はできました。しかし、このURLはハイパーリンクではないので、クリックしてもブラウザに自動的に表示されません。 どうにか、以下の方法で、セルの文字列ををハイパーリンクとして設定をする事ができましたが、どうやらこれの方法は新しくカラムを追加をしてしまうようです。(.addメソッドでカラムを追加してするようです。)自分が実現したいのでは、すでにあるカラムをハイパーリンクにしたいのです。 DataGridViewLinkColumn dgvlc1 = new DataGridViewLinkColumn(); dgvlc1.DataPropertyName = "link"; dgvlc1.HeaderText = "URL"; dgvlc1.Width = 400; dataGridView1.Columns.Add(dgvlc1); DataSourceを使ってdatagridviewにデータを表示した後、ハイパーリンクにする方法はあるのでしょうか? よろしくお願い致します。

  • DataGridViewで行選択して、対応するDataTableの行を得るには?

    いつもお世話になっております。VB2005環境です。 DataGridViewの行を選択したときに、そのソースであるDataTableの同じ行のデータを参照するには、どうしたらいいでしょうか。DataTableのデータをまるごとDataGridViewに表示しているわけではないので、必要に応じて直接DataTableから取得したいです。とても初歩的な質問だと思うのですが・・・。 DataGridView1.DataSource = DataTable  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ Dim r As Integer = DataGridView1.CurrentCell.RowIndex Dim str As String str = DataTable.Rows(r)("項目名") MsgBox(str)  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ このように行インデックスを取得してやってみたのですが、これだとDataGridView上でソートすると行番号が変わってしまい、DataTable側の対応する行のデータが得られません。 もう少し詳しく現状を書くと、まずCSVファイルからデータをロードして、DataTableに渡しています。そして、その内容をDataGridViewに表示しているのですが、表示する内容はデータテーブル通りの構造ではなく、表示する必要がある項目だけを選んで、1つずつカラムを追加してバインドいます。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ’自動で列を追加しないようにする DataGridView1.AutoGenerateColumns = False ’データソースを指定する DataGridView1.DataSource = DataTable ’1つ1つ順番などを変えながら列を追加していく Dim column1 As New DataGridViewTextBoxColumn() DataGridView1.Columns.Add(column1) column1.Name = "Date" column1.HeaderText = "日付" column1.DataPropertyName = "F4" Dim column2 As New DataGridViewTextBoxColumn() DataGridView1.Columns.Add(column1) column1.Name = "Locatoin" column1.HeaderText = "場所" column2.DataPropertyName = "F1" ・ ・ ・  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ こんな感じでなので、表示されていない列のデータについては、必要に応じて直接DataTableから取得したいと思います。アドバイスよろしくお願いいたします<(_ _)>

  • vb.net datagridviewの列位置変更

    vb.net datagridviewの列位置を変更する方法を教えて下さい。 データグリッドビューにDataTable(DBから抽出したデータ)を割り当てました。 DataGridView1.DataSource = DataTable1 ここに、カラムを追加しました Dim column As New DataGridViewButtonColumn() '列の名前を設定 column.Name = "Button" '全てのボタンに"詳細閲覧"と表示する column.UseColumnTextForButtonValue = True column.Text = "詳細閲覧" 'DataGridViewに追加する DataGridView1.Columns.Add(column) この追加したカラムを一番左に表示したいです。

  • 【スタイルシート?】同行内で左寄せと右寄せ

    “イベント名             日付” のように一行の中で一部の文字列(イベント名)は左寄せ、一部の文字列(日付)は右寄せ にするにはどのようにすればいいでしょうか。 加えますと、この一行は<TABLE>で書かれた<TD>~</TD>の中のものです。 <TABLE BORDER> <TR><TD>イベント1   日付</TD><TD>なんとか</TD><TD>かんとか</TD> <TR><TD>イベント2   日付</TD><TD>なんとか</TD><TD>かんとか</TD> </TABLE> のようになっています。 区切りの線を入れたくないので一つの<TD></TD>の中に入れたいと思っています。 <TD>内で改行無しに左寄せ&右寄せの方法はありますでしょうか。 最終手段としては中に透明なTABLEを入れて対処しようとは思ってますが、 スタイルシートやALIGNの使い方でいい方法がありましたらご教示願います。 宜しくお願い致します。

  • DataGridViewの行ごとにヘッダを取り付けたい

    DataGridViewの行ごとにヘッダを取り付けたい DataGridViewコントロールを使用しています。 出来れば(見栄えを良くするために)、図の矢印で指し示す部分に文字列を表示させたいです。 列にはカラムヘッダが存在しますが、行でも似たようなことをしたいのです。 やり方がわかる方、教えていただけませんか? よろしくお願いします。

  • VB2010のDataGridViewについて

    VB初心者です。 VisualBasic2010のDataGridViewの表示についての質問です。 DataGridViewは通常、行単位でデータを管理する形式になっていますが、 行と列を逆にして操作したいのです。 古いバージョンのVBではコントロール右上のマークをクリックするとタスクが出てきてそこで設定できるようなのですが、VB2010ではタスクの中の操作がなくなっています。 もし、VB2010でも設定する方法があるのでしたら教えてください。 古いバージョンのVBで行と列の入れ換えを行っているサイトがあるので参考までに↓ http://d.hatena.ne.jp/Yamaki/20091214/1260767140

  • 同じ行で画像は左寄せ、右側にテーブルをもってきたいのですが、

    同じ行で画像は左寄せ、右側にテーブルをもってきたいのですが、 右側にテーブルをもってくることまでできましたが、中身の文字 まで右寄せになってしまうので、テーブルの文字だけは左寄せ、 にしたいのですが、どのようにすればいいものでしょうか?

    • ベストアンサー
    • HTML
  • DataGridViewの列スタイルについて

    開発環境  VB.NET  SQLServer2008 DataGridViewにDBから取得したデータを一覧表示させようと思っています。 テキストボックスの列、チェックボックス、コンボボックスの列を 追加させることはできたのですが、同一列に異なる種類のコントロールを 配置するということはできるのでしょうか? 例えば・・・ -------------- 行No |列1 -------------- 1   |□ -------------- 2   |□▼ -------------- ・行No1、列1のセルはチェックボックスのセルを表示する ・行No2、列1のセルはコンボボックスのセルを表示する 列を追加しているコードは以下の通りです。 Form_Load時に実行しています。 ------------------------------------------------------------- Private Sub initializeDgvTest() Dim dgv As DataGridView = Me.dgvTest dgv.Columns.Clear() dgv.AutoGenerateColumns = False Dim colLabel As New DataGridViewTextBoxColumn() colLabel.DataPropertyName = "LABEL" colLabel.Name = "LABEL" colLabel.HeaderText = "ラベル" dgv.Columns.Add(colLabel) Dim colVal As New DataGridViewCheckBoxColumn() colVal .DataPropertyName = "VALUE" colVal .Name = "VALUE" colVal .HeaderText = "値" dgv.Columns.Add(colVal ) End Sub ※データのバインドについて  DataTableをDataGridViewのDataSourceに設定しています。 ------------------------------------------------------------- 上記のコードでいうと、 「VALUE」列のコントロールの種類をセル単位で変更しようとしています。 何かいい方法がありましたら、アドバイスよろしくお願いします。 以上です。

  • C#かVB DataGridView

    C#かVB DataGridView DataGridView(1)に1~10までの列が、 DataGridView(2)に11~20までの列 DataGridView(3)に21~28までの列があるとして 今このまま画面にDataGridView3つ表示させると3つともにフォーカスが存在してると思うのですが これをフォーカスがあてているものにだけフォーカスを表示させるようにしたいのです。Enterを連打して1~28までいくようにしたいです。今10までいったらDataGridView (2)に20までいったらDataGridView(3)に移動させてますが各グリッドにフォーカスが残っていて 不自然です。おしえてください

  • DataGridViewの各セル幅を自由に決め、その幅で固定したい

    いつもお世話になっとります。 表示する文字列の長さに応じてセル幅を変えるのは DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells これで可能ですよね。 DataGridViewの各セルの表示内容を、文字列の長さに関わらず、予め決められた幅で表示したいのですがどのように書けばいいのでしょうか。 .NET環境です。