VS.Net 2005 でワークシート デザイナーを使用してワークシートをデータベースにバインドする

VS.Net 2005 でワークシート デザイナーを使用してワークシートをデータベースにバインドする

この記事の目的は、すべての開発者がデータ バインディング アプリケーションを作成する方法を学習できるようにすることです。VS.ネット 2005の使用と役割を理解するワークシート デザイナー編集者。何かを学び、理解するための最良の方法は、例を通してです。したがって、この記事では、ワークシート デザイナーワークシートをデータベースにバインドします。アプリケーションを段階的に作成しましょう。

ステップ 1: サンプル データベースの作成

まず、この記事で使用するサンプル データベースを作成します。 MS Access を使用して、以下を含むサンプル データベースを作成しました。製品スキーマが以下に示されているテーブル:

todo:画像_代替_文章

形:の設計情報製品テーブル

いくつかのダミー レコードが製品図の下に示すようにテーブル:

todo:画像_代替_文章

形:のレコード製品テーブル

ステップ 2: サンプル アプリケーションの設計

アンASP.NET Web アプリケーション以下の図に示すように、Visual Studio.NET 2005 で作成および設計されています。これらのスクリーン ショットは、Visual Studio.Net 2005 で Aspose.Cells.GridWeb を使用することにあまり慣れていない開発者にとって役立ちます。

最初に VS.Net 2005 を起動します。

todo:画像_代替_文章

形: VS.Net 2005 の開始

File|New|Web Site… メニューから新しい Web サイトを作成します。

todo:画像_代替_文章

**形:**新しい Web サイトの作成

[ファイル|新規|Web サイト…] メニュー オプションをクリックした後、新しい Web サイトダイアログが表示されます。クリックブラウズその中のボタン。

todo:画像_代替_文章

**形:**新しい Web サイト ダイアログ

をクリックした後、ブラウズボタンをクリックして、ローカル IIS の場所フォルダーを選択します。図に示すように、新しいフォルダーを作成して仮想フォルダーにすることができます。

todo:画像_代替_文章

**形:**新しいフォルダを作成する

をクリックした後、開けるボタン場所を選択ダイアログ、新しい Web サイトダイアログは次のようになります。

todo:画像_代替_文章

**形:**プロジェクトの場所の設定

これでプロジェクトが作成されました

todo:画像_代替_文章

**形:**作成したプロジェクト

XHTML および HTML モード

Aspose.Cells.GridWebVS.Net 2005 でデフォルトで実装されている XHTML モードを完全にサポートします。XhtmlModeのプロパティグリッドウェブコントロールはに設定されています真実Web ページにコントロールを配置すると、既定で。しかし、VS.Net 2005 でコントロールに HTML モードを実装する場合は、非常に簡単に実行できます。を変更する必要があります**<!DOCTYPE>**Web ページのソース コードに少しタグを付けて、**XhtmlMode**のプロパティ**グリッドウェブ**制御する**間違い** .

このトピックでは、コントロールに HTML モードを使用します。したがって、以下の手順に従ってください

1. Web ページのソース ビューに切り替え、ソース コードで次の <!DOCTYPE> タグを見つけます。

XML

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

そのタグを見つけたら、以下に示すように、ソース コードでその完全なタグを選択します。

todo:画像_代替_文章

形:選択中<!DOCTYPE> タグ

を交換してください**<!DOCTYPE>**ソースコードから次のタグを付けてください。

XML

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

todo:画像_代替_文章

形:変更中<!DOCTYPE> タグ

2. GridWeb コントロールを Web フォームに追加した後。コントロールを選択し、[プロパティ] ウィンドウから XhtmlMode プロパティを選択して False に設定する必要があります。

GridWeb を Web フォームに追加する

を右クリックツールボックスそして選択**アイテムを選択…**メニューから。

todo:画像_代替_文章

**形:**アイテムの選択

今すぐ選択グリッドウェブコンポーネントとクリックわかった

手順 3: サーバー エクスプローラーを使用してデータベースに接続し、接続オブジェクトを設定する

最初に、以前に作成したプロジェクトに MS Access データベースを追加します。ステップ1 .あなたはそれを見るかもしれませんデシベル.mdbファイルがプロジェクトに追加されます。

todo:画像_代替_文章

**形:**プロジェクトフォルダにデータベースを追加

今、私たちはに行きますコンポーネント デザイナーWeb ページの右クリック メニュー オプションを使用して Web フォームのウィンドウを開きます。

todo:画像_代替_文章

形:選択中コンポーネント デザイナーを表示オプション

コンポーネント デザイナー ウィンドウは次のように表示されます。

todo:画像_代替_文章

**形:**コンポーネント デザイナー ウィンドウ

ダブルクリックOleDbConnectionコンポーネントを [データ] パネルから選択して、oleDbConnection1 オブジェクトをウィンドウに配置します。

todo:画像_代替_文章

形: oleDbConnection1 オブジェクト

では、データベースに接続します。を使用して簡単に行うことができますサーバー エクスプローラーVisual Studio.NET 2005で。選択するだけですデータの接続サーバー エクスプローラーそして右クリック。目の前にコンテキスト メニューが表示されます。選択する**接続を追加…**次の図に示すように、メニューからオプションを選択します。

todo:画像_代替_文章

**形:選択中接続を追加…**メニューからのオプション

選択後**接続を追加…**メニューからのオプション、接続を追加ダイアログが開き、ブラウズ以下に示すように、データベースファイルを選択します。

todo:画像_代替_文章

**形:**データベースファイルの選択

接続をテストできます。

todo:画像_代替_文章

**形:**接続のテスト

接続を参照して、テーブルとそのフィールドを確認できます。

todo:画像_代替_文章

**形:**接続のテーブルとそのフィールドを確認する

今、あなたが選択した場合oleDbConnection1のオブジェクトコンポーネント デザイナーウィンドウで、作成したばかりの既存の接続に関連する接続文字列を選択できます。これは、oleDbConnection1プロパティウィンドウのオブジェクト。

todo:画像_代替_文章

**形:**オブジェクトの接続文字列の選択

最後に、オブジェクトの修飾子が次のように変更されます保護されたアクセシビリティを向上させるために。

todo:画像_代替_文章

**形:**オブジェクトの修飾子の設定

手順 4: データ アダプター オブジェクトの構成

今、追加しますOleDbDataAdapterコンポーネントをツールボックスの [データ] パネルから選択して構成します。ダブルクリックOleDbDataAdapterツールボックスの [データ] パネルで、構成ウィザードが開始され、図に示すように既存の接続が選択されます。

todo:画像_代替_文章

**形:**データ アダプタ構成ウィザード

クリック後ボタンをクリックします。クエリビルダー追加するには製品テーブルで、[すべての列] を選択し、わかったボタン。

todo:画像_代替_文章

**形:**製品テーブルの追加

todo:画像_代替_文章

**形:**クエリビルダー

今すぐクリック終了ボタンをクリックしてウィザードを終了します。

todo:画像_代替_文章

**形:**ウィザードの終了

ウィザードを構成すると、以下に示すように、oleDbDataAdapter1 が自動的にウィンドウに追加されます。また、その修飾子をに設定することもできます保護された.

todo:画像_代替_文章

**形:**デザイナー ウィンドウで OleDbDataAdapter オブジェクトを取得する

ステップ 5: DataSet の生成

データベース接続とデータ アダプター オブジェクトを作成しましたが、データベースに接続した後にデータを保存できるものが必要です。あデータセットオブジェクトはデータを正確に保存でき、VS.NET 2005 IDE を使用して簡単に生成することもできます。そのためには、oleDbDataAdaper1そして右クリック。いくつかのオプションを含むコンテキスト メニューがポップアップ表示されます。選択する生む **データセット…**下の図に示すように、メニューからオプションを選択します。

todo:画像_代替_文章

形:選択中生む **データセット…**メニューからのオプション

選択後生む データセット…メニューからのオプション、DataSet の生成ダイアログが開きます。このダイアログを使用して、新しい名前を選択できますデータセット作成するオブジェクトと追加するテーブルデータセット.小切手このデータセットをデザイナーに追加しますオプションをクリックしてわかった下図のようにボタンを押します。

todo:画像_代替_文章

形:クリックするわかった生成するボタンデータセット

今、あなたは見ることができますデータセット11以下の図に示すように、デザイナにオブジェクトが追加されました。オブジェクト修飾子を保護された.

todo:画像_代替_文章

形: データセット生成され、デザイナー ウィンドウに追加されます

.cs ファイル関連の接続、データ アダプター、データセット オブジェクトで、特定のコードが自動的に生成されます。

todo:画像_代替_文章

**形:**生成コード

ステップ 6: ワークシート デザイナーの使用

さぁ、秘密を解き明かしましょう。コントロールを選択して右クリックします。コンテキスト メニューが開きます。下の図に示すように、メニューからワークシート デザイナ… オプションを選択します。

todo:画像_代替_文章

**形:選択中ワークシート デザイナー…**メニューからのオプション

その後ワークシート コレクション エディターダイアログ(とも呼ばれますワークシート デザイナー が開かれると、バインドするように構成できるいくつかのプロパティが表示されます。シート1データベース内の任意のテーブルで。選びましょう情報元財産。書くデータセット11その中に (前の手順で生成してデザイナー ウィンドウに追加したもの)。次に、をクリックしますデータメンバー財産。書く製品以下の図に示すように、ここでテーブル名として:

todo:画像_代替_文章

形:設定情報元データメンバープロパティ

これで、構成できますBindColumns財産。それをクリックした後、バインディング列を追加して、キャプション , データフィールド(それは製品テーブル フィールド)、およびその他のプロパティ。を設定できます。自動作成真実適用する検証を設定します。番号タイプあなたの条件のための異なった分野の。

todo:画像_代替_文章

形:クリックするBindColumns財産

todo:画像_代替_文章

形: BindColumn コレクション エディターダイアログ

ステップ 7: Web ページのコード行を追加する

私たちは使用しましたワークシート デザイナー簡単で、あとは数行のコードを追加するだけです

まず、追加しますOnInit初期化するイベント関連コードInitializeComponent接続、コマンド、dataadapter、およびデータセット オブジェクトを初期化および作成するメソッド。これらのコード行は、自動生成されたコードでは追加されないため、手動で追加する必要があります。

todo:画像_代替_文章

**形:**いくつかのコードを追加する1

todo:画像_代替_文章

**形:**いくつかのコードを追加する2

次に、いくつかのコードをPage_Load塗りつぶしのイベントハンドラデータセット11データベースからのデータを持つオブジェクト (使用oleDbDataAdapter1 ) およびバインディンググリッドウェブで制御データセット11それを呼び出すことによってデータバインド方法。

例:

C#

 //Implementing Page_Load event handler

protected void Page_Load(object sender, EventArgs e)

{

    //Checking if there is not any PostBack

    if (!IsPostBack)

    {

        try

        {

            //Filling DataSet with data 

            oleDbDataAdapter1.Fill(dataSet11);

            //Binding GridWeb with DataSet

            GridWeb1.DataBind();

        }

        finally

        {

            //Finally, closing database connection

            oleDbConnection1.Close();

        }

    }

}

VB.NET

 'Implementing Page_Load event handler

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    'Checking if there is not any PostBack

    If Not IsPostBack Then

        Try

            'Filling DataSet with data 

            oleDbDataAdapter1.Fill(dataSet11)

            'Binding GridWeb with DataSet

            GridWeb1.DataBind()

        Finally

            'Finally, closing database connection

            oleDbConnection1.Close()

        End Try

    End If

End Sub

追加されたコードを確認することもできますPage_Load以下の図に示すイベント ハンドラ:

todo:画像_代替_文章

形:に追加されたコードPage_Loadイベントハンドラ

ここまでで、非常に便利なデータベース アプリケーションを構築できました。ただし、このアプリケーションでは、テーブルのデータを表示することしかできません。でデータを編集できますが、グリッドウェブ制御しますが、ブラウザ ウィンドウを閉じてデータベースを開くとき。何も変わっていないことがわかります。つまり、行った変更はデータベースに保存されません。だから、あなたがしなければならないことがあります。

次に、アプリケーションにコードを追加して、グリッドウェブその変更を実際のデータベースに保存することがあります。開けましょうプロパティペインと選択保存コマンドのイベントグリッドウェブそのイベントのリストから制御します。をダブルクリックすると保存コマンドイベント VS.NET 2005 IDE が作成しますGridWeb1_SaveCommandあなたのためのイベントハンドラー。に含まれる変更されたデータでデータベースを更新するために、このイベント ハンドラーにいくつかのコードを追加します。データセット (ワークシートにバインド)使用oleDbDataAdapter1.

例:

C#

 //Implementing the event handler for SaveCommand event

protected void GridWeb1_SaveCommand(object sender, EventArgs e)

{

    try

    {

        //Getting the modified data of worksheet as a DataSet

        DataSet dataset = (DataSet)GridWeb1.WebWorksheets[0].DataSource;

        //Updating database according to modified DataSet

        oleDbDataAdapter1.Update(dataset);

    }

    finally

    {

        //Closing database connection

        oleDbConnection1.Close();

    }

}

VB.NET

 'Implementing the event handler for SaveCommand event

Protected Sub GridWeb1_SaveCommand(ByVal sender As Object, ByVal e As System.EventArgs)

  Handles GridWeb1.SaveCommand

    Try

        'Getting the modified data of worksheet as a DataSet

        Dim dataset As DataSet = CType(GridWeb1.WebWorksheets(0).DataSource, DataSet)

        'Updating database according to modified DataSet

        oleDbDataAdapter1.Update(dataset)

    Finally

        'Closing database connection

        oleDbConnection1.Close()

    End Try

End Sub

追加されたコードを確認することもできますGridWeb1_SaveCommand以下の図に示すイベント ハンドラ:

todo:画像_代替_文章

形:に追加されたコードGridWeb1_SaveCommandイベントハンドラ

ここで、変更をデータベースに保存する場合は、セーブのボタングリッドウェブ、彼らは間違いなく救われるでしょう。

ステップ 8: アプリケーションを実行する

最後に、次のいずれかを押すことで、アプリケーションをコンパイルして実行できますCtrl+F5またはクリック始めるボタン。デバッグ ダイアログで、適切なデバッグ オプションを指定し、わかった下図のようにボタンを押します。

todo:画像_代替_文章

**形:**実行中のアプリケーション

コンパイル後、デフォルト.aspx以下に示すように、Web アプリケーションのページが新しいブラウザ ウィンドウで開かれ、データベースからロードされたすべてのデータを確認できます。

todo:画像_代替_文章

形:ロードされたデータグリッドウェブデータベースからの制御

データが読み込まれるときグリッドウェブコントロールを使用すると、Aspose.Cells.GridWeb がデータの暗黙的なコントロールをユーザーに提供するように感じるでしょう。どのようなデータ操作機能が提供されているかを確認しましょうグリッドウェブそのユーザーに。

データ検証

Aspose.Cells.GridWeb は、データベースで定義されたデータ型に従って、バインドされたすべての列に対して適切な検証規則を自動的に作成します。下の図に示すように、セルの上にマウス ポインターを置くと、セルの検証タイプを確認できます。

todo:画像_代替_文章

**形:**セルの検証タイプの確認

上の図では、選択したセルに含まれていることがわかります**<INT>**つまり、ユーザーは整数値のみを入力できます。そうしないと、検証エラーが発生します。さらに、**<必須>**の値が**製品番号**ユーザーが提出する必要があります。

行の削除

行を削除するには、まず行 (または行の任意のセル) を選択し、行を削除以下に示すように、右クリックメニューからのオプション:

todo:画像_代替_文章

形:選択中行を削除メニューからのオプション

選択後行を削除メニューから、行がグリッドウェブ.今すぐクリックセーブのボタングリッドウェブ元のデータベース テーブルのそのレコードを削除します。

todo:画像_代替_文章

**形:**グリッドデータ(行削除後)

行の編集

セルまたは行のデータを編集してから、セーブボタンをクリックして変更を保存します。

todo:画像_代替_文章

**形:**グリッドデータ (レコード 1 の編集)

todo:画像_代替_文章

**形:**グリッドデータ (編集レコード 2)

行の追加

行を追加するには、行を追加する以下に示すように、右クリックメニューからのオプション:

todo:画像_代替_文章

形:選択中行を追加するメニューからのオプション

選択後、行の最後に新しい行がシートに追加されます行を追加するメニューからのオプション。新しく追加された行の左側に、アスタリスク行が新しく追加されたことを示します。

todo:画像_代替_文章

**形:**グリッドに追加された新しい行

新しい行に値を入力したら、セーブ以下に示すように、元のデータベース テーブルの変更を確認するボタン

todo:画像_代替_文章

形:をクリックして変更をデータベース テーブルに保存するセーブボタン

結論