いつもお世話になっております。予告どおり早速質問にお伺いしましたm(_ _)m
今回はCSVデータを使った表の作成方法についてお聞きいたします。
(上手く表示されるか分かりませんが・・・)
下のような表があるとします。
※ A列 =《名前》 B列 =《生年月日》 C列 =《特徴》
この場合C列の文字数(情報量)が多いと、その分他のA列・B列を圧迫し、A列のデータが潰されて立て表示になってしまいますが、これをセル幅の固定などで解決する方法(A列を圧迫する前にC列自動改行などで)はありませんでしょうか??
_______________
イメージとしましてはサンプルページの【法務局一覧】のようなものです。
よろしくお願いします。
ご質問ありがとうございます(^_^)。
CSVタグにオプションを付記することで、表の表示をコントロールすることができます。
<!--csv width="50,50,50,50"-->
A1,B1,C1,D1
A2,B2,C2,D2
A3,B3,C3,D3
<!--/csv-->
このようにすると各セル幅が50pxに。
<!--csv width="50%,20%,10%,20%"-->
A1,B1,C1,D1
A2,B2,C2,D2
A3,B3,C3,D3
<!--/csv-->
また、このようにするとセル幅が 50%,20%,10%,20% に設定されます。
一行目を th タグにするには thenabled="true" オプションを加えます。
<!--csv thenabled="true" width="50%,20%,10%,20%"-->
A1,B1,C1,D1
A2,B2,C2,D2
A3,B3,C3,D3
<!--/csv-->
オプションとして使えるパラメータは「テーブル設定(共通)」と同じです。
すみません。
環境設定 > 入力フィールド設定 > テーブル
のテーブルタイプを【項目名行あり】にすればとりあえずの問題は解決することは一応把握しておりますが、セルの幅固定の方法を教えて頂きたいと思います。
あっ、ごめんなさい。
追記で書いている間にご回答いただいたみたいで・・・すみません。
ありがとうございました^^;
m(_ _)m
こちらこそ、返信に追記している間にお返事をいただき恐縮です(^^;。
先程の返信にテーブルヘッダをつける方法などを追記いたしました。
「項目行あり」「項目行なし」のように、よく使うテーブルについては、あらかじめ「テーブル設定(共通)」およびスタイルシートでテーブルの表示を定義しておいた方がメンテナンス上好ましいという考えから、マニュアルにはオプションの付記について省略しています。
とは言うものの、オプションでの指定は、ちょっとした設定変更に便利だと思いますので、ぜひお試しください。
ありがとうございます。
テーブルヘッダをつける方法
さっそく活用してます。私の場合は勝手に一行目が強調表示になってしまっていたので、逆にfalseを代入でした。
それとですね、上の例で言いますと・・・A列ですが、ここだけ水平方向のセンター表示は指定できますでしょうか??
align0="center"で指定するとB列までセンター表示になってしまうので。
さっそく活用してます。私の場合は勝手に一行目が強調表示になってしまっていたので、逆にfalseを代入でした。
これはテーブルタイプが「項目名行あり」となっているからだと思います。
「項目名行あり」は具体的には、「項目名行なし」の設定に加えて、一行目をテーブルヘッダとするよう指定しています(thenabled="true")。
また、「項目名行あり」とすると[名前]行が改行されなくなったのは、CSSでテーブルヘッダを改行しないよう設定されているからだと思われます。
それとですね、上の例で言いますと・・・A列ですが、ここだけ水平方向のセンター 表示は指定できますでしょうか?? align0="center"で指定するとB列までセンター表示になってしまうので。
これら設定は、列数に足りない場合繰り返しになります。列数分指定するとうまくいくと思います。
例)align0="center,left,left"
また、一列目のみ指定する場合は F をつけます。
例)alignF="center"
なぜかこの指定方法がマニュアルから抜けていました。次回配布版で修正いたします。ご指摘ありがとうございましたm(_ _)m。
ありがとうございます。
基本的な部分が間違えていたので表示までおかしくなっていたことが分かりました^^
列目のみ指定する場合は F をつけます
でこちらも解決できました。ありがとうございます。
表に関して追加で質問があります。
こちらのCSVデータを使った表ですが、結合されたセル(縦横問わず)を貼り付けても、結合されずに表示されます。HTMLで言うところの"collapse(でしたっけ!?)"のような役割を果たすタグはありますでしょうか!?
そもそもCSVの意味を考えれば当然に結合はされそうもないことは想像できますが、何か別の方法での解決策はあるのでしょうか??
よろしくお願いいたします。
m(_ _)m
ご質問ありがとうございます。
残念ながら、今のところ CSV からの変換でセルの結合を実現する方法はありません。
セルの結合に関しては、将来のバージョンでなんらかの方法を用意できるよう検討しようと思います。
それまでは HTML を手打ちしていただくか、 BBComposer などの Firefox アドオン HTML 入力支援ツールをお使いいただければと思います。
そうですか...
でもCSVデータを貼り付ければ自動で表に変換されるとっても便利な機能だけでもありがたいです^^
そして将来のバージョンに期待して待ってます!! それまではHTMLの手打ちしてます。
お待たせいたしました。ver1.2 からセルの結合を表現できるようになりました。こんなふうに。
ぜひご活用ください!
以前はありがとうございました。その後もこちらのCSVを使った表を利用させていただいております。
こちらの表ですが、表としてではなく利用する場合・・・例えば
というものがあったとします。
そのとき
火は大事にしろ 用心すれば味方!!
を一つのセルに表記したいのですが、改行を含んでいるため当然別のデータと認識されて別々のセルに表示されてしまいます。
また一列しかない表の場合、『1x2}』などの方法で表示することが出来ません(表示が崩れる) 何か良い解決方法はありますでしょうか??
なければ大した問題ではないので大丈夫です。このまま使わせていただきます。
m(_ _)m
ダブルクォートで囲むことで改行やカンマをセルに含むことができます。
<!--csv thenabled="true"-->【親父の格言】
"1 火は大事にしろ
用心すれば味方!!"
"2 水は粗末に扱うな
命の源 貴重な資源!!"
"3 金は使うな
贅沢は敵だ!!"<!--/csv-->
このように記述すると次のようになります。
ご指摘の例でテーブルを使用するのは、HTML的にはあまり適切ではない気もしますが、、、(^^;
参考になりましたら幸いです。
ありがとうございました。
m(_ _)m
ご指摘の例でテーブルを使用するのは、HTML的にはあまり適切ではない気もしますが、、、(^^;
たしかにそうですね^^;
昔はHPをテーブルベースに表現することが流行って・・・その後CSSが出たことで、HTMLでの必要以上のテーブルの使用はNG行為だ!!!!と知りながらも、やはり私はテーブルを何かとチョイチョイ使ってしまいます。と予断ですが・・・
ただこのcmonos独自の【CSV→テーブル】(マウスオーバーで色が変わる等)の独特の表現方法と、簡単にキレイな一覧表示が出来るので、使いたいと思っています。
もし他の方法で簡単に表現出来ればそちらを使ってみたいのですが...でもこのままで十分過ぎます。ありがとうございました。
m(_ _)m