C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: GridViewの編集ボタン押下時にエラー!!


(過去ログ 87 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■52151 / inTopicNo.1)  GridViewの編集ボタン押下時にエラー!!
  
□投稿者/ まさひろ (5回)-(2010/08/02(Mon) 12:39:42)

分類:[ASP.NET (VB)] 

2010/08/04(Wed) 09:14:24 編集(投稿者)

お世話になります。まさひろと申します。

ASP.NET3.5(VWD2008)、ORACLE11で勉強をしています。
分からないことがあり、ご教授頂きたく書き込ませていただきました。

画面にテキストボックスとボタン、GridViewを配置し、ボタンを押すと
GRIDVIEWにテキストボックスの条件と一致したデータを表示する画面を
作成しています。
GridViewは編集ボタンを有効にしています。

SqlDataSourceにSelectとUpdateを記述し、ボタン押下時にGridViewを関連付けています。

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
GridView1.DataSourceID = String.Empty
GridView1.DataSource = SqlDataSource1
GridView1.DataBind()
End Sub

実際に画面を起動し、ボタンを押すと、GridViewに一覧が表示されます。
その後、GridViewの編集ボタンを押すと、
「GridView 'GridView1' はハンドルされていないイベント RowEditing を送出しました。」
というエラーがでてしまいます。

いろいろと調べてみましたが、原因が分からず困っています。
すみませんが、ご教授願えないでしょうか。

引用返信 編集キー/
■52156 / inTopicNo.2)  Re[1]: GridViewの編集ボタン押下時にエラー!!
□投稿者/ マサヤ (88回)-(2010/08/02(Mon) 13:31:55)
RowEditing イベントをGridViewのプロパティでイベント登録してないのでは?
引用返信 編集キー/
■52157 / inTopicNo.3)  Re[2]: GridViewの編集ボタン押下時にエラー!!
□投稿者/ まさひろ (6回)-(2010/08/02(Mon) 14:06:40)
マサヤさん、ありがとうございます。

> RowEditing イベントをGridViewのプロパティでイベント登録してないのでは?

イベント登録とは、どういうことでしょうか?

Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing

End Sub

のようなファンクションを作成し、更新のロジックを記述しないといけないと言う事でしょうか?
いろいろと勉強不足ですみません・・・。
引用返信 編集キー/
■52158 / inTopicNo.4)  Re[3]: GridViewの編集ボタン押下時にエラー!!
□投稿者/ ごう (139回)-(2010/08/02(Mon) 14:19:45)
2010/08/02(Mon) 14:28:07 編集(投稿者)

No52157 (まさひろ さん) に返信
> マサヤさん、ありがとうございます。
>
>>RowEditing イベントをGridViewのプロパティでイベント登録してないのでは?
>
> イベント登録とは、どういうことでしょうか?

これでわかりますでしょうか。
http://dobon.net/vb/dotnet/beginner/eventhandle.html

> Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing
>
> End Sub
>
> のようなファンクションを作成し、更新のロジックを記述しないといけないと言う事でしょうか?

ファンクションをソースコードにただ記述するだけではダメです。
ファンクションを「イベント」として登録しておく必要があります。

簡単なのは、
フォームデザイナでGridViewを選択し、GridViewのプロパティを見ます。 
プロパティウインドウ上部にあるツールバーの「イベント」(黄色の、稲妻みたいなマークのついたボタン)をクリックし、
イベント設定画面にします。
その中からGridView1_RowEditingイベントを探してダブルクリックすれば
GridView1_RowEditingイベントおよびファンクションが記述されますので、
そこに望む処理を記述していけばいいと思います。
引用返信 編集キー/
■52159 / inTopicNo.5)  Re[4]: GridViewの編集ボタン押下時にエラー!!
□投稿者/ まさひろ (7回)-(2010/08/02(Mon) 14:39:04)
ごうさん、ありがとうございます。

> これでわかりますでしょうか。
> http://dobon.net/vb/dotnet/beginner/eventhandle.html

こちらは理解できました。ありがとうございます。

> ファンクションをソースコードにただ記述するだけではダメです。
> ファンクションを「イベント」として登録しておく必要があります。
>
> 簡単なのは、
> フォームデザイナでGridViewを選択し、GridViewのプロパティを見ます。 
> プロパティウインドウ上部にあるツールバーの「イベント」(黄色の、稲妻みたいなマークのついたボタン)をクリックし、
> イベント設定画面にします。
> その中からGridView1_RowEditingイベントを探してダブルクリックすれば
> GridView1_RowEditingイベントおよびファンクションが記述されますので、
> そこに望む処理を記述していけばいいと思います。


こちらについて1点疑問があります。
編集時の処理って、ロジックでゴリゴリ記述しないといけないのでしょうか?

ちなみに、フォームデザイナでGridViewでデータソースの選択でSqlDataSorceを選択している場合は、
画面起動時に一覧が表示され、編集ボタンを押すときちんと編集モードに切り替わります。

ところが、フォームデザイナでGridViewでデータソースの選択を無しにし、ボタンクリックイベントで
SqlDataSorceを指定し、DataBindすると、このような現象になってしまいます。

いろいろと理解不足で申し訳ありません。
引用返信 編集キー/
■52161 / inTopicNo.6)  Re[5]: GridViewの編集ボタン押下時にエラー!!
□投稿者/ マサヤ (89回)-(2010/08/02(Mon) 14:51:56)
答えはご自分で書いてますよね?
>SqlDataSourceにSelectとUpdateを記述し、ボタン押下時にGridViewを関連付けています。

では、関連付けてなかったらどうなるか?
引用返信 編集キー/
■52168 / inTopicNo.7)  Re[5]: GridViewの編集ボタン押下時にエラー!!
□投稿者/ もりお (252回)-(2010/08/02(Mon) 17:25:44)
No52159 (まさひろ さん) に返信

> ところが、フォームデザイナでGridViewでデータソースの選択を無しにし、ボタンクリックイベントで
> SqlDataSorceを指定し、DataBindすると、このような現象になってしまいます。

データ操作時の挙動に関してはこちらの文書がわかりやすいかと思います。

ASP.NET のデータ バインド Web サーバー コントロールの概要
http://msdn.microsoft.com/ja-jp/library/ms228214%28VS.90%29.aspx

リンク先を読んでいただくと分かるのですが、DataSourceID を設定するとデータソースコントロール
が提供するサービスを自動的に使用しますよーといったことが記述されています。
DataSource プロパティではなく DataSourceID プロパティで SqlDataSource を関連付けると
GridView は SqlDataSource のメソッドを自動的に呼び出すようになります。

Protected Sub Button1_Click(...) Handles Button1.Click
  GridView1.DataSourceID = SqlDataSource1.ID
End Sub

引用返信 編集キー/
■52230 / inTopicNo.8)  Re[6]: GridViewの編集ボタン押下時にエラー!!
□投稿者/ まさひろ (8回)-(2010/08/04(Wed) 09:14:04)
2010/08/04(Wed) 09:15:28 編集(投稿者)

マサヤさん、ごうさん、もりおさん、いろいろとご教授いただきありがとうございます。


> データ操作時の挙動に関してはこちらの文書がわかりやすいかと思います。
>
> ASP.NET のデータ バインド Web サーバー コントロールの概要
> http://msdn.microsoft.com/ja-jp/library/ms228214%28VS.90%29.aspx
>
> リンク先を読んでいただくと分かるのですが、DataSourceID を設定するとデータソースコントロール
> が提供するサービスを自動的に使用しますよーといったことが記述されています。
> DataSource プロパティではなく DataSourceID プロパティで SqlDataSource を関連付けると
> GridView は SqlDataSource のメソッドを自動的に呼び出すようになります。
>
> Protected Sub Button1_Click(...) Handles Button1.Click
> GridView1.DataSourceID = SqlDataSource1.ID
> End Sub

もりおさんに教えていただいたこちらの方法でやりたい事が実現できました。

また今回マサヤさん、ごうさん、もりおさんに教えていただいたこと、非常に勉強になりました。
まだまだ勉強始めたばかりで、これからもいろいろと質問させていただくかもしれません。
ご多忙かと思いますがまたご教授いただけたらうれしいです。
今回は本当にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -