- PR -

datagrid itemtemplateでtextbox使用について。

1
投稿者投稿内容
まるぼろ
会議室デビュー日: 2005/03/31
投稿数: 11
お住まい・勤務地: 神奈川
投稿日時: 2005-04-25 18:16
最近、datagridのitemtemplateとtextboxを使用し、textbox内の値が変更されたときに、datagrid外のボタンを使い、編集しようと試みてるのですが、いまいち連携が上手く取れません。
なにかよい方法はないでしょうか?
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2005-04-26 09:18
こんにちは。

いまいち内容が把握できないのですが、幾つか教えてください。

@環境は?

Aitemtemplateの中にtextboxがあって、そこのテキストボックスの
値が変更されたら、DataGrid内にあるボタンではなく、DataGridの外
にあるボタンをクリックして更新するようにする、という事でしょうか?

Bどのように連携が上手く取れないのですか?

よろしくお願い致します。
まるぼろ
会議室デビュー日: 2005/03/31
投稿数: 11
お住まい・勤務地: 神奈川
投稿日時: 2005-04-26 10:26
こんにちは!ご返事まこといありがとうございます。
早速なのですが、質問の返答をさせていただきますのでご教授よろしくお願いいたします。
@環境は、windowsXp Pro
IIS6.0
oracle 9i
visual c#.net
にて開発環境をそろえてあります。

A現在データをdatagridにて、表示させ、datagridの外のボタンを押下されたときに、更新、登録を実現させようと思っています。
扱おうとしているデータの型はdate型です。
B
連携がうまく取れないというのは
ここのメソッドの部分でdatagrid内のtextboxのデータを取得し、データセットに反映させ、ボタン押下時にdatagrid
のメソッドをボタン定義のメソッド内で呼び出しをし、メソッドを実行、させたいと考えています。
そのときに対するボタンメソッド内での連携が取れません。
private void DataList_Updata(object sender, DataGridCommandEventArgs e)
{
int field = (int) DataList.DataKeyField[e.Item.ItemIndex];
TextBox Data1 = (TextBox) e.Item.Cells[0].Controls[0];
row.DATE_1 = Convert.ToDateTime(Data1);
this.DataBind();

public void btnEntry_Click(object sender, System.EventArgs e )
{
}

この業界に入って2ヶ月のひよっこにご教授願います。。。。
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2005-04-26 12:55
こんにちは。

イベントの中からイベントを呼ぶって事ですよね。
たぶん、引数の問題とかあるから、無理じゃないかな。。。

それより、btnEntry_Clickイベント内で、更新・登録すれば
良いと思われます。その事に対しても問題あるんですか?

あと、余談ですが、FindControlを使いましょうね。
↓c#.netは自信ないけど、こうかな?
コード:
(TextBox) e.Item.FindControl("TextBoxID") 


まるぼろ
会議室デビュー日: 2005/03/31
投稿数: 11
お住まい・勤務地: 神奈川
投稿日時: 2005-04-26 13:47
ありがとうございます!!!
この形で指定したところdatagridの中身を無事取得することに成功できました!
ご教授ありがとうございました!

TextBox テキストボックス = (TextBox)this.DataGrid.Items[0].Cells[2].FindControl(" テキストボックス");
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-04-26 23:10
[脱線]
卵がヒヨコに答える。。。卵が先か、ヒヨコが先か。。。

失礼しました_(_^_)_
[/脱線]

 データGridなの?ソースにはListって書いてあるけど?

引用:

連携がうまく取れないというのは
ここのメソッドの部分でdatagrid内のtextboxのデータを取得し、データセットに反映させ、ボタン押下時にdatagrid
のメソッドをボタン定義のメソッド内で呼び出しをし、メソッドを実行、させたいと考えています。


ようわからん。。。
『ここのメソッド』の、“ここ”ってどこですか?
ボタン押下時に呼び出したい、DataGridのメソッドって、なんですか?

 もっとわかってもらえるように書きましょうよ。わかってもらえるように書けるということは、自分が仕様を理解しているということです。「わかっている」と「理解している」は違います。「理解している」状態でないと、人に説明はできません。とはいえ、「理解している」からといって「説明できる」わけではありませんけど。
 つまり、「自分が理解できていないものを人に説明できないですよね」。転じて、「まず、自分が理解できているか確認しましょう」ってことです。

 それで、これって解決したんですか?最初の質問には、2つ以上の質問が含まれているような気がするのですが。

_________________
まるぼろ
会議室デビュー日: 2005/03/31
投稿数: 11
お住まい・勤務地: 神奈川
投稿日時: 2005-04-27 11:27
おはようございます。
内容としてはdatagrid内にtextboxに入力されていて、入力されている内容をtextboxの中から取得し、データセットに反映させ、反映された内容をDBに登録でき、編集または、登録された内容を確認までする。というところまで、を実施したくて、そのときに
datagridのtextboxからの値の取得方法に困っていた状況でした。。。

ご指摘どおり最初の投稿の質問は漠然としていて、質問を投げた自分としても、
ありえないですねよね・・・・・・
Jittaさん、ご指摘ありがとうございます。

次回、質問などで投稿する場合には、ご指摘の内容通り、気をつけて、質問したい内容が的確にに伝わるように注意したいと思います。
m(__)m
1

スキルアップ/キャリアアップ(JOB@IT)