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

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

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

Re[4]: ASP.NET Gridview 編集テキストの値の取得


(過去ログ 121 を表示中)

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

■72688 / inTopicNo.1)  ASP.NET Gridview 編集テキストの値の取得
  
□投稿者/ なつほちゃん (1回)-(2014/07/05(Sat) 01:13:57)

分類:[ASP.NET (C#)] 

ASP.NETのGridViewで、表を編集する処理を実現したいのですが、
編集テキストに入れた値を、どのようにとるのか解りません。
RowUpdatingイベント発火時に取れるだろうとは思うのですが、
編集前の値しか入っていませんでした。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="A" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating">
<Columns>
 <asp:BoundField DataField="A" HeaderText="S.No." />
 <asp:CommandField ShowEditButton="true" />
 <asp:CommandField ShowDeleteButton="true" />
</Columns>
</asp:GridView>

private void GridviewTest()
{
DataTable dt = new DataTable();
dt.Columns.Add("A");
for (int i = 0; i < 4; i++)
{
DataRow row = dt.NewRow();
row["A"] = i;
dt.Rows.Add(row);
}
GridView1.DataSource = dt;
GridView1.DataBind();
}

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridviewTest();
}

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
TextBox textName = (TextBox)row.Cells[0].Controls[0];
GridView1.DataBind();
}

調べると、SqlDataSourceを用いたやり方ばかりがヒットし、困っております。

どのようにして、編集テキストに入れた値を取るのか、
ご存知の方、よろしくお願い致します。
引用返信 編集キー/
■72692 / inTopicNo.2)  Re[1]: ASP.NET Gridview 編集テキストの値の取得
□投稿者/ WebSurfer (308回)-(2014/07/06(Sun) 12:59:48)
No72688 (なつほちゃん さん) に返信

またこの掲示板の HDD 障害があったのでしょうか、レスが全て消えてしまいましたね。

なぜ、SqlDataSource や ObjectDataSource などのデーターソースコントロールを使わない
のかという話はとりあえず置いといて・・・

アップされたコードでだけでは GridView に何も表示されないなずです。他にもコードがあ
って、その部分が原因なのでは?

たとえば、Page_Load イベントハンドラで毎回 GridviewTest() とやっていて、元の値に
書き戻されてしまっているのではないですか?

データーソースコントロールを使いましょう。使わない/使えない理由があるなら教えてく
ださい。
引用返信 編集キー/
■72694 / inTopicNo.3)  Re[2]: ASP.NET Gridview 編集テキストの値の取得
□投稿者/ なつほちゃん (2回)-(2014/07/06(Sun) 22:58:03)
お世話になっております。

>たとえば、Page_Load イベントハンドラで毎回 GridviewTest() とやっていて、元の値に
>書き戻されてしまっているのではないですか?

まさに、これが原因でした。
PostBackを理解していない素人にありがちなミスをしておりました。

ありがとうございます。

>なぜ、SqlDataSource や ObjectDataSource などのデーターソースコントロールを使わない
>のかという話はとりあえず置いといて・・・

SqlDataSourceは、どうも直観的に理解出来なくて、
コードに頼っておりました。

また、使い込んでいると色々と不都合なケースがあるという記事を見たというのも
理由です。

やはり、SqlDataSourceを使用するのが、一般的でベストなのでしょうか?

ご意見をお聞かせ頂ければ幸いです。
引用返信 編集キー/
■72695 / inTopicNo.4)  Re[3]: ASP.NET Gridview 編集テキストの値の取得
□投稿者/ WebSurfer (310回)-(2014/07/06(Sun) 23:52:02)
No72694 (なつほちゃん さん) に返信

> また、使い込んでいると色々と不都合なケースがあるという記事を見たというのも
> 理由です。

使い込むってどういう意味ですか? 一体何が「不都合なケース」だというのでしょ
う? 

ごく特殊なケースはあるかもしれませんが、もしそうなら、どういうケースか具体的
に聞かせていただきたいものです

どこのどなたがそういうことを言ったのか知りませんが、どういうケースか明確にし
ないままそういう発言をしているのであれば、自分に言わせてもらえれば、あまりに
イイカゲンな記事だと思います。

> やはり、SqlDataSourceを使用するのが、一般的でベストなのでしょうか?
> ご意見をお聞かせ頂ければ幸いです。

SqlDataSource がベストかどうかはケースバイケースで、ObjectDataSource その他の
データーソースコントロールの方が適していることもあると思います。

でも、何を使うにせよデーターソースコントロールを使用しない理由はないはずで(あ
れば聞かせて欲しいです)、使うのがベストというより当たり前だと思います。

失礼ながら、質問者さんがデーターソースコントロールを使用すべきか否か正しく判断
して使わない方向に進んでいるとは思えないのですが・・・

引用返信 編集キー/
■72748 / inTopicNo.5)  Re[4]: ASP.NET Gridview 編集テキストの値の取得
□投稿者/ なつほちゃん (3回)-(2014/07/10(Thu) 22:52:11)
No72695 (WebSurfer さん) に返信
> ■No72694 (なつほちゃん さん) に返信
>
>>また、使い込んでいると色々と不都合なケースがあるという記事を見たというのも
>>理由です。
>
> 使い込むってどういう意味ですか? 一体何が「不都合なケース」だというのでしょ
> う? 
>
> ごく特殊なケースはあるかもしれませんが、もしそうなら、どういうケースか具体的
> に聞かせていただきたいものです
>
> どこのどなたがそういうことを言ったのか知りませんが、どういうケースか明確にし
> ないままそういう発言をしているのであれば、自分に言わせてもらえれば、あまりに
> イイカゲンな記事だと思います。
>
>>やはり、SqlDataSourceを使用するのが、一般的でベストなのでしょうか?
>>ご意見をお聞かせ頂ければ幸いです。
>
> SqlDataSource がベストかどうかはケースバイケースで、ObjectDataSource その他の
> データーソースコントロールの方が適していることもあると思います。
>
> でも、何を使うにせよデーターソースコントロールを使用しない理由はないはずで(あ
> れば聞かせて欲しいです)、使うのがベストというより当たり前だと思います。
>
> 失礼ながら、質問者さんがデーターソースコントロールを使用すべきか否か正しく判断
> して使わない方向に進んでいるとは思えないのですが・・・
>

お返事遅くなりましたが、貴重な意見をありがとうございました。

まだまだ経験が浅いので、どのようなやり方が良いのか、
研究していきたいと思います。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -