- PR -

Windows アプリケーションとasp.net Webアプリーケーションの違い

1
投稿者投稿内容
ウィン
会議室デビュー日: 2003/11/11
投稿数: 15
投稿日時: 2003-12-11 10:49
VB.NETで開発をしていますが、間がないのでまだ基本的なことがわかっていないので教えてください。

参考書で
Dim tblStyle As DataGridTableStyle
と記述があり

これをプロジェクトのWindowsアプリケーションの中で記述するとエラーにならず
ASP.NET Web アプリケーションの中で記述するとコンパイルエラーになります。
他にも、エラーになる型が多くあります。

これはASP.NET Web アプリケーションで記述する場合、どこかに何かの指定を
行えば解決するのか、あるいは使用できない制限なのでしょうか?
宜しくお願いします。





Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-12-11 12:13
 WindowsアプリケーションとWebアプリケーションは、表示上全く異なります。Webアプリのコントロールは「グラフィカルな表示をしない」(グラフィカルな表示をしているのはブラウザです)し、Winアプリのコントロールは「HTMLを記述するメソッドが実装されていない」ので、互いに使うことはできません。

 それぞれ、System.Windows、System.Webの名前空間で定義されています。この2つは同時には使えない、ということです。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-12-11 12:45
名前空間レベルで同時に使えない、っていっちゃうと語弊が
あるような気がする。。。

で、Windowsアプリ用のコントロールと、Webアプリ用のコントロールは
似た機能のものは同じような名前で提供されていますが、中身は
まったく異なるものです。
どちら用のコントロールなのか、きちんと区別して考えるように
しましょう。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2003-12-11 13:07
なぜコンパイルが通らないかといえば、そのクラスを含んだライブラリ(DLL)を
参照できるようにしていないからです。参照設定でSystem.Windows.Forms.dllを
追加して Imports System.Windows.Forms を書けば
Dim tblStyle As DataGridTableStyle
はコンパイル自体は通ります。(またはImportsしないで
Dim tblStyle As System.Windows.Forms.DataGridTableStyle    )
しかし、こうしてもほとんどの場合意味がないです。理由はJittaさんがおしゃってる
通りです。

ただ、私はWinアプリで、System.Web.dllを追加してSystem.Web.Mailを使って
Winアプリからメールを送信、とかはよくやっています。

似た(同じ)名前が多いのは事実ですし、ここのスレッドでも
(違いを理解していても)混同することはよくありますね。
ウィン
会議室デビュー日: 2003/11/11
投稿数: 15
投稿日時: 2003-12-11 13:18
Jittaさん、小野@EACさんRESありがとうございました。
別物だということで理解しました。

この「Insider.NET 会議室」は Webアプリ用の質問でいいですよね。

それで、今、一番やりたいのはWindowsアプリの記述だと

'列"Column1"の幅を100にする
' myDataGrid.TableStyles("DataTable1"). _
' GridColumnStyles("Column1").Width = 100

なのですが、これをWebアプリ用で実現するには別の方法になるのでしょうか?

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-12-11 13:29
引用:

小野@EACさんの書き込み (2003-12-11 12:45) より:
名前空間レベルで同時に使えない、っていっちゃうと語弊が
あるような気がする。。。


 はい、そうですが、安直でいいか、と^^;



引用:

ウィンさんの書き込み (2003-12-11 13:18) より:

この「Insider.NET 会議室」は Webアプリ用の質問でいいですよね。


 .NETなので、.NETを使ったものならWebでもWinでも。
#一部VS6の質問もありますが。。。

 WebアプリでDataGridの幅は、デザイナでDataGridに固定列を追加すると、DataGridを右クリックして「プロパティ」から、「書式」→「列」→「(列名)」をクリックすると、「レイアウト 幅」と表示されます。これで設定します。
 実行時には、「DataGrid.Columns(index).ItemStyle.Width」です。
ウィン
会議室デビュー日: 2003/11/11
投稿数: 15
投稿日時: 2003-12-11 14:50
Jittaさん、RESありがとうございました。

>DataGridを右クリックして「プロパティ」から、「書式」→「列」→「(列名)」をク>リックすると、「レイアウト 幅」と表示されます。これで設定します。

最後にColumns[0] 詳細表示で幅の設定は出来ましたがColumns[1]以降が表示されません。
 
>デザイナでDataGridに固定列を追加すると

「固定列を追加」の操作の方法がわからなくやっていないのですが、それが原因でしょうか?


>実行時には、「DataGrid.Columns(index).ItemStyle.Width」です。

これでもやってみましたが 
DataGrid.Columns(1).ItemStyle.Width=100
としましたがどうも右辺の指定が悪いようで "100pt" にしたり、いろいろやってみましたがどれもエラーになります。
どうも初歩的なことがわかっていなくてすみません、教えてください。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-12-11 16:03
「実行時に自動的に列を追加」していると、ダメみたいです。いくつかスレッドがあがっていますが、操作できないみたい。。。

って、先に書いとけって、ねぇ...
1

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