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

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

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

Re[9]: DataGridのItemDataBoundの


(過去ログ 17 を表示中)

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

■6245 / inTopicNo.1)  DataGridのItemDataBoundの代わり
  
□投稿者/ えおあ (1回)-(2007/08/06(Mon) 20:44:36)

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

お願い致します

ASP.NET2.0 C#です

DataGridのItemDataBoundでデータをバインドした後の文字列をe.Item.ItemTypeで確認し文字列を変更していたのですが
GridViewで同じようなイベントが見つかりません・・・
どのようにやればいいのでしょうか?
お願い致します
引用返信 編集キー/
■6279 / inTopicNo.2)  Re[1]: DataGridのItemDataBoundの代わり
□投稿者/ いしだ (19回)-(2007/08/07(Tue) 14:21:24)
いしだ さんの Web サイト
こんにちは。

DataGridで以下のような処理だとします。

protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item)
    {
        // 処理
    }
}

GridViewでは以下のようになるんじゃないでしょうか。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        // 処理
    }
}

引用返信 編集キー/
■6288 / inTopicNo.3)  Re[2]: DataGridのItemDataBoundの代わり
□投稿者/ えおあ (2回)-(2007/08/07(Tue) 15:57:30)
No6279 (いしだ さん) に返信
> こんにちは。
>
> DataGridで以下のような処理だとします。
>
> protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
> {
> if (e.Item.ItemType == ListItemType.Item)
> {
> // 処理
> }
> }
>
> GridViewでは以下のようになるんじゃないでしょうか。
>
> protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
> {
> if (e.Row.RowType == DataControlRowType.DataRow)
> {
> // 処理
> }
> }

ありがとう御座います
そのやり方で出来ましたがいまいちまだうまくいきません。
表示する内容は
SELECT ur_name, ur_password, ur_operator,ur_auth FROM tb_user
でそのまま表示しています、デバックして中身を見たところ

string b = e.Row.Cells[3].Text;
string c = e.Row.Cells[2].Text;
string d = e.Row.Cells[1].Text;
string e = e.Row.Cells[0].Text;
 b はデータなし
 c はur_operatorの中身
 d はデータなし
 e はur_nameの中身
と入っていたんですが
ur_authの値を出したいんですがなぜか中身なしです。
dのパスワードの箇所はGridViewでバインドせず*******表示にしてはいますがバインドした後のあたいならur_passwordの値もあってもいい気もしますが
入っていません。
一つ飛ばしなのでDataGridのようにListItemType.AlternatingItemのようにいれるのかとおもいきそのようなものはGridViewにはありませんでした。
違う箇所を言うと
ur_authはイント型というぐらいだとはおもうのですが、どうしたらいいのでしょうか?
お願い致します
引用返信 編集キー/
■6291 / inTopicNo.4)  Re[3]: DataGridのItemDataBoundの代わり
□投稿者/ えおあ (3回)-(2007/08/07(Tue) 16:21:24)
GridViewの列をテンプレートに変更したら値が出なくなりましら全部でなくなりました。
テンプレートにしたのが原因とわかりましたが対応策が分かりません
引用返信 編集キー/
■6298 / inTopicNo.5)  Re[4]: DataGridのItemDataBoundの代わり
□投稿者/ えおあ (4回)-(2007/08/07(Tue) 16:40:57)
No6291 (えおあ さん) に返信
> GridViewの列をテンプレートに変更したら値が出なくなりましら全部でなくなりました。


デバッグするとe row dataitem row dataarray の中に値がすべて入っていました。ですがどうやって取り出せるんでしょうか><お願い致します。
引用返信 編集キー/
■6300 / inTopicNo.6)  Re[5]: DataGridのItemDataBoundの代わり
□投稿者/ いしだ (21回)-(2007/08/07(Tue) 16:50:21)
いしだ さんの Web サイト
string b = ((TextBox)e.Row.Cells[3].FindControl("TextBox1")).Text;
のような感じでしょうか。
引用返信 編集キー/
■6324 / inTopicNo.7)  Re[6]: DataGridのItemDataBoundの代わり
□投稿者/ えおあ (6回)-(2007/08/07(Tue) 19:33:57)
No6300 (いしだ さん) に返信
> string b = ((TextBox)e.Row.Cells[3].FindControl("TextBox1")).Text;
> のような感じでしょうか。
ありがとう御座います
。無事出来ました。
ありがとうございました

序によければお願い致します
Row.Cells[3]の箇所なんですが編集するとドロップダウンを出す予定でしたがこの処理が入るためドロップダウンリストが表示されなく
なってしまったんですが、これはどうしようもないでしょうか?

オネガイシマス
引用返信 編集キー/
■6326 / inTopicNo.8)  Re[7]: DataGridのItemDataBoundの
□投稿者/ いしだ (26回)-(2007/08/07(Tue) 19:58:54)
いしだ さんの Web サイト
2007/08/07(Tue) 20:59:07 編集(投稿者)

行編集モードにしたとき、Cells[3]をDropDownListにしたいという事でしょうか?
最初はTextBoxで、編集でDropDownListという事ですか?

それとも、編集モードではなく最初の表示状態からDropDownListという事でしょうか?
引用返信 編集キー/
■6328 / inTopicNo.9)  Re[8]: DataGridのItemDataBoundの代わり
□投稿者/ えおあ (7回)-(2007/08/07(Tue) 20:01:48)
No6326 (いしだ さん) に返信
> 行編集モードにしたとき、Cells[3]をDropDownListにしたいという事でしょうか?
> 最初はTextBoxで編集でDropDownListという事ですか?
>
> それとも、編集モードではなく最初の表示状態からDropDownListという事でしょうか?

最初はラベルに表示しているだけです。そこまではおしえていただいた内容でうまくいきました。
編集を押した場合ドロップダウンリストにしたいのですが RowDataBoundで値を変更してしまったので
ドロップダウンが出ずに変更後の文字が出てきてしまいます。

オネガイシマス   
引用返信 編集キー/
■6329 / inTopicNo.10)  Re[9]: DataGridのItemDataBoundの
□投稿者/ いしだ (28回)-(2007/08/07(Tue) 20:48:37)
いしだ さんの Web サイト
2007/08/07(Tue) 21:01:01 編集(投稿者)
やろうとしているのは、こういう事でしょうか?

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (GridView1.EditIndex != e.Row.RowIndex)
        {
            ((Label)e.Row.Cells[3].FindControl("Label1")).Text = "変更後の値";
        }
        else
        {
            ((DropDownList)e.Row.Cells[3].FindControl("DropDownList1")).SelectedValue = "変更後の値";
        }
    }
}

多分違うでしょうね。。。
詳しく説明していただけると、ちゃんと答えられるかもしれません。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -