- PR -

TabControlについて

1
投稿者投稿内容
shizuku
会議室デビュー日: 2006/12/21
投稿数: 2
投稿日時: 2006-12-21 20:31
はじめまして。
ASP,NET 2.0の参考書をみながら
勉強中の初心者です。

そこで質問があるのですが、
新規でプロジェクトから「webサイト」を作成しようと
しています。
Default.aspxファイルにサーバコントロールパネルを貼り付けて
・タブコントロールを実装した画面イメージ
・動的に列幅を変更できるDataGridを実装した画面イメージ
の2点を作ろうとしているのですが、
TabControlが標準コントロールパネルに、また、
DataGridもデータコントロールパネルにありません。

ちなみに、「webフォームの作成」ですと、両方ともに
標準、データコントロールパネルに表示されています。

なぜ、「webサイト」の場合だと、それらのコントロールパネルを
使用することができないのでしょうか?
ご存知でしたら、教えていただきたく、
お願い致します。
Makoto
大ベテラン
会議室デビュー日: 2004/03/31
投稿数: 133
投稿日時: 2006-12-22 09:18
いつもお世話になっております

>なぜ、「webサイト」の場合だと、それらのコントロールパネルを
>使用することができないのでしょうか?

確かWebアプリ(ASP.NET)では、下記はコントロール化されていないと思います。
(なぜ提供しないかの経緯は知りませんが、
 MSがWebアプリ用のコントロールとして提供していないだけでは?)

一般には、
 TabControl→tabっぽいイメージを作成してリンクをさせる形
で対応していますよね?

 DataGridは、DataGridViewで代用とかではないでしょうか?
 (Web開発は、あまりしないので自信ないですが...)
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-12-22 10:42
#Webフォームってなんだろ。。。

DataGridは2.0になって
・DataGridView − Windowsアプリ用
・GridView − Webアプリ用
になりました。
DataGridもクラスとして存在していないわけではないので、使えないことはないですが
下位互換性のためだけにあるので、今後は新しいものを使うことが推奨されてます。

WebアプリとWindowsアプリはその動作の原理からして違うので、コントロールの動作も
異なります。
コントロールの名前をきちんとわけたのはよい判断だと個人的には思っています。

TabコントロールはWeb用にはないですね。
まあ、Webアプリの場合、Tabを切り替えるという作業もどうせサーバとの間で
ポストバックを起こす必要があるので、あまりコントロール化する意味を感じて
いないのかも。
マスターページを使ったり、MultiViewを使うことでTabコントロールっぽい
動作をさせることは可能ですね。

shizuku
会議室デビュー日: 2006/12/21
投稿数: 2
投稿日時: 2006-12-26 02:30
MAKOTOさん、
どっとねっとふぁんさん
返信ありがとうございます。

>#Webフォームってなんだろ。。。
「プロジェクト」のことです。すいません。

>マスターページを使ったり、MultiViewを使うことでTabコントロールっぽい
>動作をさせることは可能ですね。

はい。Menu、MultiView、Viewコントロールを使用することで、TabControl相当のものを
作成することができました。以下のURLが参考になりました。
http://www.codeproject.com/aspnet/tabcontrol.asp
ただ、これで実装するとタブ切り替え時に、画面のチラツキが生じてしまいます。
これを防ぐ方法とかご存知ありませんか?Ajaxの技術を利用すれば対応できると聞き、
Ajax用のUpdatePanelというコントロールパネルを使用できそうですが・・・

>DataGridは2.0になって
>・DataGridView − Windowsアプリ用
>・GridView − Webアプリ用
>になりました。
>DataGridもクラスとして存在していないわけではないので、使えないことはないですが
>下位互換性のためだけにあるので、今後は新しいものを使うことが推奨されてます。

やはり、DataGridViewはwebアプリ用としては使えないのですね。
GridViewは、ページング機能やソート機能など、GUIからDBとの接続の設定ができたりと、
いろいろ便利だと思います。ですが、動的に列幅の変更できるスプレッドシートのような
ものを実装したいので、DataGridViewをWebアプリ用に盛り込みたいのですが、何か方法
ありますでしょうか? GridViewですと、動的に列幅を変更することは私の調べた範疇では
見つかりませんでした。ちょっとカッコ悪いですが、テキストボックスに入力した数値を入力し、ボタン押下時に、GridViewの列幅を変えるということはできました。
1

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