- PR -

データグリッドの扱い方について

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2003/08/28
投稿数: 28
投稿日時: 2003-08-28 23:59
初めてドットネットを使い始めた初心者です。
経験豊かな先輩方のアドバイスを頂きたいと思いスレを立ち上げました。
出来るだけわかり易く解説をお願いいたします。
データグリッドを使い画面に該当データを一覧表示しているのですが、あるお客様から
各列を半角あけて欲しいとのお要望がありました。色々と調べてみたのですが今のところ
いい方法が見つからない状況です。何か良い方法がありましたらご教授お願いします。
_________________
Mr.タナカ
ベテラン
会議室デビュー日: 2003/03/15
投稿数: 64
投稿日時: 2003-08-29 03:23
こんにちは。
スレッド見ました。

SQL文で、何とかならないですか?
プログラムと言うよりかは、末尾に半角のスペースを付けるSQL文(文字連結)で解決すると思いますが...
ちなみに列の幅の指定方法は過去のスレッドにありました。
一度、参考にしてみては、どうでしょうか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=4257&forum=7
未記入
常連さん
会議室デビュー日: 2003/08/28
投稿数: 28
投稿日時: 2003-08-29 19:47
Mr.タナカさん早速の書き込みありがとうございます。
あとで自分の書き込みを見て、かなり分かりにくい書き方をしているなと反省しました^^;
もう少し詳細を書きたいと思います。

DataGridでは、お客様の名前や住所、TELなどを表示してあります。また、列にはテンプレート列があり、その中にImageButtonが入れてあります。

表示する項目では、TELなどは文字数が同じためレイアウトをセンターにしてありますが、名前や住所は長さが違うため、見栄えをよくするためにデフォルト(left)にしてあります。

このときに、ますめの左からデータが出力されますが、最小の文字が左の掛線ぎりぎりから始まります。別に言えば、最初の文字と掛線の間に隙間がありません。そのため見栄えが悪くなるので、半角分隙間を空ける必要があります。

私の知っているこの問題の解決方法としては
DataGridのプロパティビルダの境界線→セル内のスペースでスペースを大きくする
という方法があります。

しかしながら、この場合、テンプレートに文字のサイズより大きいimageを貼ってあるため、どの列も文字部分のセル内のスペースが大きくなってしまい、見栄えが悪くなります。

対応策としては
1.HTML側から修正をかける(できるのか?)
2.データを取得するクエリで取得項目の前に空白の文字を入れる
を考えています。
2についてはなるべくやりたくないなと考えています。

DataGridで表示項目を選択した列の左から半角一文字開けてデータを表示する方法はあるのでしょうか。


Mr.タナカ
ベテラン
会議室デビュー日: 2003/03/15
投稿数: 64
投稿日時: 2003-08-30 00:43
こんにちは。
スレッド見ました。

引用:

pahse1さんの書き込み (2003-08-29 19:47) より:


対応策としては
1.HTML側から修正をかける(できるのか?)
2.データを取得するクエリで取得項目の前に空白の文字を入れる
を考えています。
2についてはなるべくやりたくないなと考えています。

DataGridで表示項目を選択した列の左から半角一文字開けてデータを表示する方法はあるのでしょうか。





DataGridは、表示される際にはTableタグとして処理されたと思います。
(表示されたページのソースを見ると<Table>になっているはず)
したがって、「cellpadding」属性を「Attributes」を使用して追加して余白を増やす事ができるかもしれません。
「Page_Load」のイベント内で...

【DataGrid.Attributes("cellpadding") = "5px"】

と記述するとできるかも。
ちょっと強引過ぎるかな...
.NETの開発環境がないので、動作確認は取っていません。
Micky
大ベテラン
会議室デビュー日: 2002/09/04
投稿数: 137
投稿日時: 2003-09-01 09:39
Mickyでございます。
いつも勉強させていただいています。

DataGridにはCelPaddingというプロパティが元々ありますよ
これで罫線とデータの始まりの間隔を調整できると思います。

外観に関することは先ずそのコントロールが持っている
プロパティを隅から隅まで確認して、
その後、CSSで設定できないか探してみてください。
大体できるようになっているものです。(経験値)

それでも見つからない場合はここで質問させてもらうと
「おぉ〜〜!それはすごい!!」
と驚嘆する様なアイディアを教えてくれたりします。
その恩恵に預かっている私でございます・・m(__)m
未記入
常連さん
会議室デビュー日: 2003/08/28
投稿数: 28
投稿日時: 2003-09-04 09:49
返信をしてくださった方々、どうもありがとうございました。
今回は書き込んで頂いたcellPaddingプロパティを使用することはしないで、
dataGridの列をテンプレートにしてから編集をするという方法をとりました。

毎日ドットネットの楽しさと難しさに直面しているところです。それでは。
1

スキルアップ/キャリアアップ(JOB@IT)