- - PR -
Windows アプリケーションとasp.net Webアプリーケーションの違い
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-12-11 10:49
VB.NETで開発をしていますが、間がないのでまだ基本的なことがわかっていないので教えてください。
参考書で Dim tblStyle As DataGridTableStyle と記述があり これをプロジェクトのWindowsアプリケーションの中で記述するとエラーにならず ASP.NET Web アプリケーションの中で記述するとコンパイルエラーになります。 他にも、エラーになる型が多くあります。 これはASP.NET Web アプリケーションで記述する場合、どこかに何かの指定を 行えば解決するのか、あるいは使用できない制限なのでしょうか? 宜しくお願いします。 | ||||||||
|
投稿日時: 2003-12-11 12:13
WindowsアプリケーションとWebアプリケーションは、表示上全く異なります。Webアプリのコントロールは「グラフィカルな表示をしない」(グラフィカルな表示をしているのはブラウザです)し、Winアプリのコントロールは「HTMLを記述するメソッドが実装されていない」ので、互いに使うことはできません。
それぞれ、System.Windows、System.Webの名前空間で定義されています。この2つは同時には使えない、ということです。 | ||||||||
|
投稿日時: 2003-12-11 12:45
名前空間レベルで同時に使えない、っていっちゃうと語弊が
あるような気がする。。。 で、Windowsアプリ用のコントロールと、Webアプリ用のコントロールは 似た機能のものは同じような名前で提供されていますが、中身は まったく異なるものです。 どちら用のコントロールなのか、きちんと区別して考えるように しましょう。 | ||||||||
|
投稿日時: 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-12-11 13:18
Jittaさん、小野@EACさんRESありがとうございました。
別物だということで理解しました。 この「Insider.NET 会議室」は Webアプリ用の質問でいいですよね。 それで、今、一番やりたいのはWindowsアプリの記述だと '列"Column1"の幅を100にする ' myDataGrid.TableStyles("DataTable1"). _ ' GridColumnStyles("Column1").Width = 100 なのですが、これをWebアプリ用で実現するには別の方法になるのでしょうか? | ||||||||
|
投稿日時: 2003-12-11 13:29
はい、そうですが、安直でいいか、と^^;
.NETなので、.NETを使ったものならWebでもWinでも。 #一部VS6の質問もありますが。。。 WebアプリでDataGridの幅は、デザイナでDataGridに固定列を追加すると、DataGridを右クリックして「プロパティ」から、「書式」→「列」→「(列名)」をクリックすると、「レイアウト 幅」と表示されます。これで設定します。 実行時には、「DataGrid.Columns(index).ItemStyle.Width」です。 | ||||||||
|
投稿日時: 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" にしたり、いろいろやってみましたがどれもエラーになります。 どうも初歩的なことがわかっていなくてすみません、教えてください。 | ||||||||
|
投稿日時: 2003-12-11 16:03
「実行時に自動的に列を追加」していると、ダメみたいです。いくつかスレッドがあがっていますが、操作できないみたい。。。
って、先に書いとけって、ねぇ... |
1