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

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

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

Re[6]: 【GridView】削除した行の値の取得


(過去ログ 19 を表示中)

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

■7915 / inTopicNo.1)  【GridView】削除した行の値の取得
  
□投稿者/ 松田 (7回)-(2007/09/19(Wed) 14:31:39)

分類:[ASP.NET (VB)] 

現在、GridViewコントロールを配置し、ユーザID(主キー)・ユーザー名・氏名・メールアドレス
といったユーザー情報を表示しています。

この表示されている情報は自作の「User」テーブルであり、実際のユーザーアカウントではないので
GridView内のデータが削除されても実際のログインユーザーアカウントは残ったままです。

削除ボタンを押したときに、このテーブルの情報に加え実際のユーザアカウントを削除したいと思っています。

現在、テーブル内のデータの削除はうまく行っています。


<asp:GridView ID="grid" runat="server" DataSourceID="sds" DataKeyNames="UserId" 
                 AutoGenerateColumns="False" AllowSorting="True" OnRowDeleted="grid_RowDeleted">
   <Columns>
     <asp:BoundField DataField="UserId" HeaderText="UserId" SortExpression="UserId" />
     <asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName" />
     <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
     <asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
     <asp:CommandField ButtonType="Button" ShowDeleteButton="True"/>
   </Columns>
</asp:GridView>


Protected Sub grid_RowDeleted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeletedEventArgs)
   Dim uname As String
   ....
   Membership.DeleteUser(uname)
End Sub


削除ボタンが押された行のusername列の値を取得して、
Membership.DeleteUser()でユーザーの削除を行いたいのですが、
値を取る方法が分かりません。

それとも、一度grid_RowDeletingで削除される行の2列目にあるusername列の値を取り出して
grid_RowDeletedでそのユーザーのデータを削除するということでしょうか?

よろしくお願いします。


引用返信 編集キー/
■7916 / inTopicNo.2)  Re[1]: 【GridView】削除した行の値の取得
□投稿者/ とりこびと (33回)-(2007/09/19(Wed) 14:37:56)
とりこびと さんの Web サイト
こんにちは。とりこびとです。

ちょっと確認はできていないのですが、

GridViewDeletedEventArgs クラス
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.gridviewdeletedeventargs.aspx

から削除された列の情報が取得できませんか?

引用返信 編集キー/
■7919 / inTopicNo.3)  Re[2]: 【GridView】削除した行の値の取得
□投稿者/ 松田 (8回)-(2007/09/19(Wed) 16:24:27)
No7916 (とりこびと さん) に返信
> こんにちは。とりこびとです。
>
> ちょっと確認はできていないのですが、
>
> GridViewDeletedEventArgs クラス
> http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.gridviewdeletedeventargs.aspx
>
> から削除された列の情報が取得できませんか?



とりこびとさん、ありがとうございます。

せっかく教えていただいたURLなのですが、理解に至りませんでした。

Valuesプロパティで値を取得するということですよね・・・


引用返信 編集キー/
■7924 / inTopicNo.4)  Re[3]: 【GridView】削除した行の値の取得
□投稿者/ Jitta on the way (9回)-(2007/09/19(Wed) 18:36:29)
2007/09/19(Wed) 18:38:47 編集(投稿者)

No7919 (松田 さん) に返信
> ■No7916 (とりこびと さん) に返信
>>こんにちは。とりこびとです。
>>
>>ちょっと確認はできていないのですが、
>>
>>GridViewDeletedEventArgs クラス
>>http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.gridviewdeletedeventargs.aspx
>>
>>から削除された列の情報が取得できませんか?
>
>
>
> とりこびとさん、ありがとうございます。
>
> せっかく教えていただいたURLなのですが、理解に至りませんでした。
>
> Valuesプロパティで値を取得するということですよね・・・
>
>

どの辺の言葉がわからなかったですか?

削除してしまうととれないけど、削除しようとしている最中なら、値はありますよね。
英語の過去形や現在進行形って、わかります?



追記
とりこびとさんのは、イベント引数を使いましょう、ってことですね。
引用返信 編集キー/
■7926 / inTopicNo.5)  Re[4]: 【GridView】削除した行の値の取得
□投稿者/ 松田 (9回)-(2007/09/19(Wed) 19:10:15)
No7924 (Jitta on the way さん) に返信

> どの辺の言葉がわからなかったですか?
> 
> 削除してしまうととれないけど、削除しようとしている最中なら、値はありますよね。
> 英語の過去形や現在進行形って、わかります?
> 
> 追記
> とりこびとさんのは、イベント引数を使いましょう、ってことですね。


Jitta on the wayさん、ありがとうございます。

英語はもともと苦手なのですが
Deletingが削除しようとしている最中で、Deletedが削除してしまった後のこと
だという風に認識していました。

とすると
Protected Sub grid_RowDeleting
   (ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeletedEventArgs)

になるのでしょうか。

提示いただいたURL先はイベント引数、つまりGridViewDeletedEventArgsが持っているプロパティの
「Values」を使用すると値が取得できる・・・
と受け取ったのですが、結局イベント引数の使い方が分からず足掻いています。

この辺りは前から躓いていた部分なのですが、
毎回なんとなく分からずに騙し騙しやってきた部分でもありますので
もう一度基本を見直したいと思います・・・

引用返信 編集キー/
■7928 / inTopicNo.6)  Re[5]: 【GridView】削除した行の値の取得
□投稿者/ mあ (66回)-(2007/09/19(Wed) 21:58:25)
No7926 (松田 さん) に返信
> ■No7924 (Jitta on the way さん) に返信
>
>>どの辺の言葉がわからなかったですか?
>>

このイベントは削除後のイベントです・・・


1行(e.AffectedRows=1) なら、e.Values("AAA_COL").Item(0) とか
で取れるでしょ。削除した行の指定したカラムの値が。
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.gridviewdeletedeventargs.keys.aspx

http://msdn2.microsoft.com/ja-jp/library/system.collections.specialized.iordereddictionary_members.aspx


> と受け取ったのですが、結局イベント引数の使い方が分からず足掻いています。

参考URLのリンクを片っ端から紐解くと、イベント引数に格納された削除済み行へアクセスするための
手段と keys と values の使い方の具体例が出てきますよ。


# VB.NET の仕事が無くなりました(号泣)、来月から Java に戻ります。

引用返信 編集キー/
■7932 / inTopicNo.7)  Re[6]: 【GridView】削除した行の値の取得
□投稿者/ とりこびと (34回)-(2007/09/20(Thu) 09:07:07)
とりこびと さんの Web サイト
とりこびとです。おはようございます。

十分な情報を提示できていなくてすみませんでした。

で、mあさんも書かれている通り、

GridViewDeletedEventArgs.Keys プロパティ
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.gridviewdeletedeventargs.keys.aspx

や、

GridViewDeletedEventArgs.Values プロパティ
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.gridviewdeletedeventargs.values.aspx

に書かれているサンプルコードが参考になりませんでしょうか?(あれ?サンプル同じもの?)


で、Jittaさんに追記していただいている部分のイベント引数ってのは

Protected Sub grid_RowDeleted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeletedEventArgs)

のeですね。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -