GridWebs Worksheets Designer を使用して Worksheet を DataSet にバインドする
Worksheets Designer を使用してワークシートをデータベースにバインドする
**ステップ 1: サンプル データベースの作成**
- まず、この記事で使用するサンプル データベースを作成します。 Microsoft Access を使用して、Products というテーブルを含むデータベースを作成しています。そのスキーマを以下に示します。 Products テーブルの設計情報
- Products テーブルにいくつかのダミー レコードが追加されます。 Products テーブルのレコード
ステップ 2: サンプル アプリケーションの設計
ASP.NET Web アプリケーションは、以下に示すように Visual Studio.NET で作成および設計されています。 設計されたサンプル アプリケーション
ステップ 3: サーバー エクスプローラーを使用してデータベースに接続する
データベースに接続する時が来ました。 Visual Studio.NET のサーバー エクスプローラーを使用して簡単に実行できます。
- 選択するデータの接続のサーバー エクスプローラー右クリックします。
- 選択する接続を追加メニューから。 接続の追加オプションの選択
[データ リンク プロパティ] ダイアログが表示されます。 [データ リンク プロパティ] ダイアログ
このダイアログを使用して、任意のデータベースに接続できます。デフォルトでは、SQL Server データベースに接続できます。この例では、Microsoft Access データベースに接続する必要があります。
- クリックプロバイダータブ。
- 選択するMicrosoft Jet 4.0 OLE DB プロバイダーからOLE DB プロバイダーリスト。
- クリック次. OLE DB プロバイダーを選択した後に [次へ] をクリックする
の繋がりタブページが開きます。
- Microsoft Access データベース ファイル (この場合は db.mdb) を選択し、わかった. データベースファイルを選択してOKボタンをクリック
手順 4: データベース接続オブジェクトをグラフィカルに作成する
- を使用して、データベース内のテーブルを参照します。サーバー エクスプローラー. Products テーブルは 1 つだけです。
- から Products テーブルをドラッグ アンド ドロップします。サーバー エクスプローラーにウェブフォーム. Products テーブルをサーバー エクスプローラーからドラッグし、Web フォームにドロップする
ダイアログが表示される場合があります。 接続文字列にデータベース パスワードを含めることを確認するダイアログ
接続文字列にデータベース パスワードを含めるかどうかを決定します。この例では、パスワードを含めないでください. つのデータベース接続オブジェクト (oleDbConnection1 と oleDbDataAdapter1) が作成され、追加されました。 データベース接続オブジェクト (oleDbConnection1 & oleDbDataAdapter1) の作成と表示
ステップ 5: DataSet の生成
ここまでで、データベース接続オブジェクトを作成しましたが、データベースに接続した後にデータを保存する場所が必要です。 DataSet オブジェクトはデータを正確に格納でき、VS.NET IDE を使用して簡単に生成することもできます。
- 選択するoleDbDataAdaper1右クリックします。
- 選択するDataSet の生成メニューからのオプション。 [DataSet の生成] オプションの選択
[DataSet の生成] ダイアログが表示されます。 ここで、作成する新しい DataSet オブジェクトの名前と、それに追加するテーブルを選択できます。
- を選択このデータセットをデザイナーに追加しますオプション。
- クリックわかった. OKボタンをクリックしてDataSetを生成
dataSet11 オブジェクトがデザイナーに追加されます。 生成され、デザイナーに追加された DataSet
ステップ 6: ワークシート デザイナーの使用
さぁ、秘密を解き明かしましょう。
-
GridWeb コントロールを選択して右クリックします。
-
選択するワークシート デザイナーメニューからのオプション。
ワークシート デザイナ オプションの選択
ワークシート コレクション エディター (ワークシート デザイナーとも呼ばれます) が表示されます。 ワークシート コレクション エディタ ダイアログ
このダイアログには、Sheet1 をデータベース内の任意のテーブルにバインドするように構成できるいくつかのプロパティが含まれています。
- を選択情報元財産。 前の手順で生成された dataSet11 オブジェクトがメニューに表示されます。
- dataSet11 を選択します。
- クリックデータメンバー財産。 Worksheets Designer は、dataSet11 内のテーブルのリストを自動的に表示します。 Products テーブルは 1 つだけです。
- Products テーブルを選択します。 DataSource および DataMember プロパティの設定
- を確認してくださいBindColumns財産。 BindColumns プロパティのクリック
をクリックするとBindColumnsプロパティは、BindColumn コレクション エディターを開きます。 BindColumn コレクション エディター
BindColumn コレクション エディターでは、製品テーブルは BindColumns コレクションに自動的に追加されます。
- 任意の列を選択し、そのプロパティをカスタマイズします。 たとえば、各列のキャプションを変更できます。 ProductID 列のキャプションの変更
- 変更後、 をクリックします。わかった.
- をクリックして、すべてのダイアログを閉じます。わかった. 最後に、WebForm1.aspx ページに戻ります。 ワークシート デザイナーの使用後に WebForm1.aspx ページに戻る
上記では、 Products テーブルの列名が表示されています。列の幅が狭いため、一部の列の完全な名前が完全には表示されません。
手順 7: Page_Load イベント ハンドラーへのコードの追加
Worksheets Designer を使用した後は、(oleDbDataAdapter1 を使用して) データベースからのデータを dataSet11 オブジェクトに入力し、その DataBind メソッドを呼び出して GridWeb コントロールを dataSet11 にバインドするコードを Page_Load イベント ハンドラーに追加するだけです。
- コードを追加します。
C#
//Implementing Page_Load event handler
private void Page_Load(object sender, System.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
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.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 イベント ハンドラに追加されたコードを確認します。 Page_Load イベント ハンドラに追加されたコード
ステップ 8: アプリケーションの実行
アプリケーションをコンパイルして実行します。Ctrl+F5またはクリック始める. アプリケーションの実行
コンパイル後、WebForm1.aspx ページがブラウザー ウィンドウで開かれ、データベースからすべてのデータが読み込まれます。 データベースから GridWeb コントロールに読み込まれたデータ
GridWeb コントロールの操作
データが GridWeb コントロールに読み込まれると、ユーザーはデータを制御できます。 GridWeb では、さまざまな種類のデータ操作機能が提供されています。
データ検証
Aspose.Cells.GridWeb は、データベースで定義されたデータ型に従って、バインドされたすべての列に対して適切な検証規則を自動的に作成します。セルの上にカーソルを置くと、セルの検証タイプが表示されます。 セルの検証タイプの確認
ここで、選択したセルには**
行の削除
行を削除するには、行 (または行内の任意のセル) を選択し、右クリックして選択します。行を削除. メニューから [行の削除] オプションを選択する
行は即座に削除されます。 グリッドデータ(行削除後)
行の編集
セルまたは行のデータを編集し、セーブまた送信変更を保存します。
行の追加
- 行を追加するには、セルを右クリックして行を追加する. メニューから [行の追加] オプションを選択する
シートの他の行の最後に新しい行が追加されます。 グリッドに追加された新しい行
新しい行の左側にはアスタリスクがあります 、行が新しいことを示します。
- 新しい行に値を追加します。
- クリックセーブまた送信変更を確認します。 Save をクリックしてデータへの変更を保存するボタン
数値フォーマットの設定
現時点での価格は、商品価格列は数値として表示されます。通貨のように見せることができます。
- Visual Studio.NET に戻ります。
- BindColumn コレクション エディターを開きます。 の番号タイプのプロパティ商品価格列がに設定されています全般的. General に設定された NumberType プロパティ
- クリックドロップダウンリストそして選択通貨4リストから。 NumberType プロパティが Currency4 に変更されました
- アプリケーションを再度実行します。 の値商品価格列が通貨になりました。 通貨での商品価格 数値形式
データの編集
これまでのアプリケーションでは、ユーザーはテーブル データの表示のみを許可されていました。ユーザーは GridWeb コントロールでデータを編集できますが、ブラウザを閉じてデータベースを開いても何も変わりません。加えられた変更はデータベースに保存されません。
次の例では、アプリケーションにコードを追加して、GridWeb が変更をデータベースに保存できるようにします。
- 開くプロパティペインを開き、リストから GridWeb コントロールの SaveCommand イベントを選択します。 GridWeb の SaveCommand イベントの選択
- ダブルクリック保存コマンドイベントと VS.NET は、GridWeb1_SaveCommand イベント ハンドラーを作成します。
- oleDbDataAdapter1 を使用してワークシートにバインドされた DataSet 内の変更されたデータでデータベースを更新するコードをこのイベント ハンドラーに追加します。
C#
//Implementing the event handler for SaveCommand event
private void GridWeb1_SaveCommand(object sender, System.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
Private 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 イベント ハンドラーに追加されたコードも確認できます。 GridWeb1_SaveCommand イベント ハンドラーに追加されたコード
を使用して変更をデータベースに保存します。セーブボタンは確実にそれらを保存します。