• ベストアンサー

Datagridviewの3桁数表示

VB2010のDatagridviewを使っています。金額のところで数字に3桁表示をしたいのですが、上手くできません。 いろいろ参考にして、Datagridviewの「列の編集」でDefaultcellstyleのFormatの「形式の種類」のところで数字を選びました。サンプルでは、3桁表示になっていますが、実際にプログラムを動かしますと、3桁表示ではなくなっています。 どこか、設定が悪いのでしょうか。

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

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

こんばんは >いろいろ参考にして(拍手 私の読解力不足で、少々質問の意味が掴めていません。 >サンプルでは 質問の内容には、サンプルが載っておりませんが、どのよなサンプルでしょうか? >実際にプログラムを動かしますと、3桁表示ではなくなっています。 プログラム内に3桁の数字が書かれているのでしょうか? totti1800さんのご質問の内容とはあまり関係がないかもしれませんが、回答するためのヒントになるかもしれませんので、下記のコードを実行して、どこがどのようにtotti1800さんの目的と違うのか教えて頂ければうれしいです。 また、他の方が回答するヒントにもなると思います。 Public Class Form1 Private Sub f1() Handles MyBase.Shown Dim i As Integer For i = 0 To 3 DataGridView1.Rows.Add() Next End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim money As Integer money = DataGridView1(2, 0).Value If money > 999 Then MsgBox("入力できる数字は3桁です。") Return ElseIf money < 0 Then MsgBox("数字は0より大きい数字を入力してください。") Return ElseIf 10 < money AndAlso money < 99 Then DataGridView1(2, 0).Value = "0" & CStr(money) ElseIf money < 9 Then DataGridView1(2, 0).Value = "00" & CStr(money) End If MsgBox(CInt(money)) 'CIntは必要ありませんが、後にmoneyを数字で扱う場合のために付けています End Sub End Class 一番右上に数字を入力してButtonをクリックしてください。

totti1800
質問者

お礼

質問の仕方が悪くて申し訳ございませんでした。 いろいろコーディングをしていただき勉強になります。 4月から始めましたので、まだ初心者です。 ご好意に感謝します。

totti1800
質問者

補足

相談箱の使い方が不十分なので、上手く書き込みができなくてすみません。 3桁表示とは、3桁区切りの数字の表示のことでした。表現不足で申し訳ございませんでした。 サンプルとは、Datagridviewの「列の編集」でDefaultcellstyleのFormatの「形式の種類」のところで「数字」を選びますと、「-1,234」というように表示がされるということです。 別の参考資料では、次のように書きなさいとありましたが、これでもダメでした。 dataGridView1.Columns(3).DefaultCellStyle.Format = "#,0" 簡単な質問のようなのですが、私には難しいので、ご教示いただければ幸いです。

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

関連するQ&A

  • VB2010 3桁区切りの数字の表示の仕方

    VB2010で、3桁区切りの数字の表示の仕方をお教えいただきたかったのです。3桁表示では、意味不明ですね。すみませんでした。 サンプルとは、DefaultcellstyleのFormatの「形式の種類」で「数字」を選びますと、その中にサンプルが表示されて「1,235」というように現れていたということです。位取りの「,」を数字にいれたいという簡単な質問でしたが、私には解決方法が分かりません。 別の参考資料では、次のように書きなさいということですが、試みましたが区切りは出てきませんでした。 dataGridView1.Columns(3).DefaultCellStyle.Format = "#,0"

  • DataGridViewでyyyy/MM/dd

    SQLServer2008で作ったデータベースをVB2010のDataGridViewで表示させております。 DataGridViewで日付列を"yyyy/MM/dd"のスラッシュ入り10桁で表示させたいのですが表示されません。 データベース側でのデータ型は「date」となっております。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy/MM/dd" こう記述すればいいと思ったのですが、「20111227」とスラッシュ無しで表示されてしまいます。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy年MM月dd日" これは「2011年12月27日」と表示することを確認できました。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy-MM-dd" これは「2011-12-27」と表示することを確認できました。 どのようにしたら"yyyy/MM/dd"形式で表示させることが出来るのでしょうか 指導のほど、よろしくお願い致します。

  • VB2010のDataGridViewについて

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

  • vb.netでDataGridViewの背景色の変更について

    初心者ですがよろしくお願いします。 現在DataGridViewにデータを表示できたのですが 背景色の変更ができません。 '編集したDataTableをDataGridViewにセットする DataGridView.DataSource = dt 'DataGridViewにユーザーが新しい行を追加できないようにする DataGridView.AllowUserToAddRows = False '行ヘッダーを非表示にする DataGridView.RowHeadersVisible = False 'DataGridViewの1番目の列を読み取り専用にする DataGridView.Columns(0).ReadOnly = True 'DataGridViewの2番目の列を読み取り専用にする DataGridView.Columns(1).ReadOnly = True 'DataGridViewの3番目以降の列のセルのテキストの配置を上下中央で右寄せする For dateIndex As Integer = 0 To monthList.Count - 1 DataGridView.Columns(2 + dateIndex).DefaultCellStyle.Alignment = _ DataGridViewContentAlignment.MiddleRight Next 'インデックス0の行のセルの背景色を薄い灰色にする DataGridView.Rows(0).DefaultCellStyle.BackColor = Color.LightGray と記述しております。 Rowsの部分をCulumsに変えると縦の色を変えることはできるのですが 何故かRowsだと横の色が変化しません 環境としましては Microsoft Visual Basic 2008 Express Edition VB.NET です ご教授、よろしくお願いします。

  • DataGridViewでDBを読み込むには?

    VB.NET2005とoracleにより、プログラムを組んでいます。 FormにDataGridViewを貼りDBを読み込み表示させるプログラムを作りたいと思っています。 しかし、DBのすべての列を表示させるのではなく、選択したの列だけGridViewに表示させたいのですが、可能でしょうか? どのようなプログラムにすればよろしいでしょうか? DBすべてなら表示できましたが、選択列だけの場合は色々試してみましたがうまく行きませんでした。 お力を貸していただけませんか? よろしくお願いします。

  • 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の和暦表示について

    vb2005で開発を行っています。 調べたのですが、DataGridのことばかりでDataGridViewの話題はあまりなかったので質問させて下さい。 DataGridViewで特定のカラムの表示形式を和暦(平成YY年MM月DD日)にしたいのですが、いざ出力してみると西暦YY年MM月DD日という形式になってしまいます。 以下がコードです。 Imports System.Data.OleDb Imports System.Globalization Imports System.Text.RegularExpressions Imports System.Text Private Sub PunchDataInq_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' DataGrid view を和暦表示に Dim culture As New CultureInfo("ja-JP", True) culture.DateTimeFormat.LongDatePattern = "ggyy'年'MM'月'dd'日'" Me.dgv.Columns(0).DefaultCellStyle.Format = culture.DateTimeFormat.LongDatePattern End Sub ---------------------------------------------------------- この状態でDate型の値をDBから参照すると西暦07年11月06日などが表示されてしまいます。どなたかお気づきの点がございましたらぜひご指摘ください。 よろしくお願いします。

  • DataGridViewで…

    初めまして、VB2005初心者のココと申します。 今、VB2005を使い開発しているのですが、詰まってしまいました。 初心者の為、くだらない内容かも知れませんが、ご教授よろしくお願いいたします。 セルに入力されたコードを元にDBから名称を抽出し、名称欄(セル)に表示するプログラムを作っています。 コードを入力し、セルからフォーカスが無くなった際に自動的に名称を表示させたいのですが、うまく表示されず、 現在は、別のセルから戻った後、フォーカスが移動されると表示されるような感じになってしまっています。 フォーカスが離れた際に、表示させればいいと思うのですが、どのようにすればいいのかよく分からず困っております。 今は、CellLeaveを使用しています。 Private Sub DataGridView1_CellLeave(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _ Handles DataGridView1.CellLeave 後、名称取得の際はこんな感じにしています。 名称取得(Val(DataGridView1(1, DataGridView1.CurrentCell.RowIndex).Value)) ※1がコードを入力する列になります。 よろしくお願いいたします。

  • VB2005 DataGridViewでの非バインド文字列のこと

    VB2005でDataGridViewを使ってプログラムをしているのですが。  DataTableとBiding(リンク?)しているDataGridViewで。 DataTableとバインドしてない項目X(非バインド列)をDataGridViewに新たに追加して。 例えば、DataTableの項目Yが1だと項目Xも1という風に表示させたいのですが。 一度目はうまく表示されるのですが。その画面を閉じてまた開いたら表示されないのですが。 どうしたら良いでしょうか?アドバイスをお願いします。 開発環境: XinXP Pro SQL Server2005 Express VS2005 Pro VB2005

  • DataGridViewのカラムを、見た目だけ消したい。

    VB2005、SQLServer2005環境です。 DataGridViewに、DBから取得した値を表示させ、それを削除 できるようなプログラムを作っています。 DataGridViewの一番左側にキーとなるカラムがあるのですが、 それを見た目だけ消したいと考えています。 キー 名前 ---------------- 1 タロウ 2 ハナコ 3 ユウジ 例えば、このような表であれば、見た目に表示されるのは 名前だけで、削除時は内部的にキー列を参照したいのです。 Me.DataGridView1.Columns(0).Visible = False とすることで、とりあえずは消えたのですが、 Me.DataGridView1.CurrentRow.Cells(0).Value.ToString で値を見てみると、名前列の値が取れていました。 見ためだけ列を消す方法はないでしょうか? ご教授ください。