- - PR -
DataGridに関して
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-01-16 13:24
久しぶりの投稿です。
下記の内容で悩んでいます。アドバイス頂ければ幸いです。 現在、Aテーブルから引っ張ってきているデータをDataGridに表示させているのですが、 User側からの要望でテーブルの内容はそのまま、DataGridに表示するときは 小数を切り捨てでデータを表示させてほしいと要望がありました。 (例) 在庫数 1234.567⇒1234 2345.6789⇒2345 テーブルデータが小数まで表示されているのに DataGridに表示するときには小数を切り捨てて表示するのは可能でしょうか? 以下のプログラムは現在DataGridに表示させる為にかいているものです。 'DataGridデザイン変更 Me.DataGrid.RowHeaderWidth = 10 Me.DataGrid.ReadOnly = True 'DataGridスタイル設定 tblStyle = New DataGridTableStyle tblStyle.MappingName = "get" Me.DataGrid.TableStyles.Add(tblStyle) For intRow = 0 To 7 clmStyle(intRow) = New DataGridTextBoxColumn Next clmStyle(0).HeaderText = "AAA" clmStyle(0).MappingName = "AAA" clmStyle(0).Width = "80" clmStyle(1).HeaderText = "BBB" clmStyle(1).MappingName = "BBB" clmStyle(1).Width = "180" clmStyle(2).HeaderText = "CCC" clmStyle(2).MappingName = "CCC" clmStyle(2).Width = "180" clmStyle(3).HeaderText = "DDD" clmStyle(3).MappingName = "DDD" clmStyle(3).Width = "60" clmStyle(4).HeaderText = "EEE" clmStyle(4).MappingName = "EEE" clmStyle(4).Width = "60" clmStyle(5).HeaderText = "在庫数" clmStyle(5).MappingName = "在庫数" clmStyle(5).Width = "60" clmStyle(6).HeaderText = "GGG" clmStyle(6).MappingName = "GGG" clmStyle(6).Width = "60" clmStyle(7).HeaderText = "HHH" clmStyle(7).MappingName = "HHH" clmStyle(7).Width = "120" For intRow = 0 To 7 tblStyle.GridColumnStyles.Add(clmStyle(intRow)) Next : : : : sqldata = "SELECT A,AAA,A.BBB,A.CCC,B.DDD,B.EEE,A.在庫数,B.GGG,A.HHH FROM TBL_××× A,MST_△△△ B " & _ "WHERE A.AAA = B.AAA " & _ "AND A.AAA Like '" & Me.TextAAA.Text & "%' " & _ "AND A.BBB Like '" & Me.TextBBB.Text & "%' " & _ "AND B.DDD Like '" & Me.TextDDD.Text & "%' " & _ "AND B.EEE Like '" & Me.TextEEE.Text & "%' " & _ "ORDER BY AAA" Me.DataGrid.SetDataBinding(oraobj.ora_reader(sqldata, "get").Tables("get").DataSet, "get") Me.TextSerchResult.Text = oraobj.ora_reader(sqldata, "get").Tables("get").Rows.Count | ||||||||
|
投稿日時: 2007-01-16 14:20
DB が何か分かりませんが、SELECT 時に切り捨てればいいのではないですか?
| ||||||||
|
投稿日時: 2007-01-16 14:38
ora_reader という単語があるので、oracle のようですね。 # いつの間にかぬしになっているひろれいさんの人気に嫉妬。 他にも明記されていませんが、DataGrid とあるので Webアプリケーションでいいんですよね? やり方としては、ひろれいさんが書かれた SELECT 時に切り捨てる方法もありますし、 ItemDataBound イベントを捕まえてゴリゴリするという方法もあります。 一般的には前者が使われるかもですね。もっと複雑な場合は後者もやりますが。 あとは SQL はパラメータクエリにした方がよろしいかと。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||||||
|
投稿日時: 2007-01-16 14:39
DB:Oracleです!
| ||||||||
|
投稿日時: 2007-01-16 14:47
開発環境として…Visual Studio.Net2003を利用しています。
| ||||||||
|
投稿日時: 2007-01-16 15:50
DataGrid クラスは、Windows.Forms 名前空間にもあります。 そのセリフは、GridView クラスだった時に使いましょう。 (Windows Form では、DataGridView クラスになります)
データの件数を考慮すると、前者が良いです。 もっと複雑な場合は、ストアド プロシージャ + DataSet が好きです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-01-16 16:14
おーおーおー(額をペシッと叩き)赤外線が出とるじゃないか。 …じゃなかった、フォローありがとうございます。 そうですね。GridView と DataGrid を混同してました。 VisualStudio .NET 2003 ということは .NET Framework 1.1 なので、 DataGridView はなくて DataGrid しかないんですよね。 (全部最初に書いておいてくれよ、という話ではありますが)
ですね。 切捨て程度の処理だったら前者の方がいいと思います。 ストアドプロシージャは…個人的には保留で。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||||||
|
投稿日時: 2007-01-16 17:37
NAL-6295です。
DataGridTextBoxColumnを利用しているので、たぶんWindowsFormsだと思いますが、 DataGridTextBoxColumnのFormatプロパティに表示させたい書式を設定してはいかがでしょうか? |
1|2|3
次のページへ»