A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんな感じではだめでしょうか?
//--保存--
//データグリッドから編集中の行を取得
DataGridItem dgi = this.DataGrid1.Items[4];
//データグリッドのセル内からテキストボックスを取得
TextBox tb = (TextBox)dgi.Cells[0].Controls[0];
//ビューステイトに保存
this.ViewState["testVal"]=tb.Text;
//--取り出し--
DataGridItem dgi = this.DataGrid1.Items[4];
TextBox tb = (TextBox)dgi.Cells[0].Controls[0];
//データグリッド内のテキストボックスにビューステイト内のテキストを反映
tb.Text=this.ViewState["testVal"].ToString();
No.3
- 回答日時:
どうもお騒がせしております。
>(1)の方法は各テキストボックスのViewStateの値を取得する方法
こちらは、下記のように出来るようです。
//ViewStateに値をセット[]の中はキーとなります。
this.ViewState["TestKey"]="12345";
//ViewState内のキーに関連付けされている値を取得
if (ViewState["TestKey"] != null)
{
//ラベルにViewState内のキー「TestKey」に関連付けられている値を表示
this.Label1.Text=ViewState["TestKey"].ToString();
}
(if文は値の取得自体には関係無いですが一応。)
>(2)の方法は、DataTableのカラムの型がintに設定されている場合、テキストボックスの内容を反映する事ができません。
こちらなのですが・・・
自分で作成したDataTableでデータを入れても再現しませんでした
○データを入れる処理
//データテーブルを作成
DataTable dt1 = new DataTable();
//カラム作成
dt1.Columns.Add("intCol",System.Type.GetType("System.Int32"));
//新しい行を作成
DataRow dr =dt1.NewRow();
//以下(1)の場合でも(2)の場合でもコンパイル時、実行時共に例外は発生しませんでした。
(1)dr["intCol"]= int.Parse("54321");
(2)dr["intCol"]= "54321";
//新しく作成した行をテーブルに追加
dt1.Rows.Add(dr);
//ViewStateに保存
this.ViewState["t"]=dt1;
○データを取得する処理
//ViewStateからデータテーブルを取得
DataTable dt1 = (DataTable)this.ViewState["t"];
if (dt1!=null)
{
//データテーブル内の0行目の「intCol」列を取得しラベルに表示
this.Label2.Text=dt1.Rows[0]["intCol"].ToString();
また、明日時間がありましたら、DataGridのItemTemplate列のテキストボックスでも
ためしてみようかなと思ってます。
(必要が無い場合にはご連絡頂けるとうれしいです)
No.2
- 回答日時:
すみません。
家に帰って改めてご質問を拝見し、自分の回答の的外れ加減に驚いてしまいました・・・
改めて、分かる範囲でちゃんと回答したいと思うのですが
以下のような内容でよろしいのでしょうか?
1.DataGridとは別のテキストボックスにデータを入力
2.ボタン押下時にテキストボックス内のデータが
DataSet(内のDataTable)に追加してよい状態であれば、行の追加
3.追加出来ない場合はテキストボックスに編集中の内容を残したいがうまくいかない
また見当違いの事を言っているようでヒヤヒヤものですが、
ご説明の補足をお願いします。
もし、コードが載せられるようでしたらお願いします。
この回答への補足
こちらの説明も足りなくてすみません。
テキストボックスは、DataGridのItemTemplate列のものです。
手順は以下のようになります。
1.ボタン押下
2.ポストバック
3.DataTableに行追加
4.DataBind()
5.HTML返信
6.編集中だったテキストボックスが元に戻ってしまう
テキストボックスを保持したい場合は、
(1)DataBind後に追加した行以外は、ViewStateで復元する
(2)3の前でテキストボックスの入力文字列をDataTableに反映しておく
どちらかの方法が必要になると思います。
しかし、(1)の方法は各テキストボックスのViewStateの値を取得する方法がわからず、(2)の方法は、DataTableのカラムの型がintに設定されている場合、テキストボックスの内容を反映する事ができません。
よろしくお願いします。
No.1
- 回答日時:
DataTableをDataBindしてるのでしょうか?
実際試した訳ではないのですが、
その場合バインド前のDataTableのカラムが
A列B列だとし、DataGridにC列を追加した場合、
もう一度A列B列しか無いDataTableにバインドすると
関連の無いC列の情報は無くなってしまうような気がします。
DataTableにもDataGridと同じC列を追加し、データを
入れるのが一番簡単かなぁと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Visual Basic(VBA) ユーザーフォームで銀行に対応した支店コードの入力ができません Sheet1のA列に銀行名、B列に銀行 5 2022/07/28 17:50
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- その他(Microsoft Office) excel テーブル 4 2023/03/18 16:11
- Excel(エクセル) Excel グラフの軸に「表示単位の変更」の要領でテキストを追加したい 1 2022/06/08 16:27
- ドメイン・サーバー・クラウドサービス 独自ドメインでのNSレコード設定 1 2023/07/12 18:36
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- PDF PDFのテキストを追加機能 1 2022/06/18 12:45
- Excel(エクセル) ピボットテーブル集計表について。ピボットテーブルで集計を行うとき、内訳集計ではなく、通常集計表にする 2 2023/08/10 07:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VB.NET】Excelの最終行までの...
-
「Nullの使い方が不正です」の...
-
C# DataTableに最後に追加した...
-
【C#】textBoxの指定行のデータ...
-
非同期のプロセス間通信(パイプ...
-
batでレジストリキーから読み取...
-
java / jsp selectedについて
-
エクセルのマクロ コンボボッ...
-
Excel VBAでグラフの可変データ...
-
ADODBでの行番号の取得、もしく...
-
VBAコンボボックスの内容が反映...
-
VB2005 で NetworkStream で取...
-
ActiveReportのdetailをデータ...
-
COBOL数値転記の仕様
-
MSFlexGrid 行選択状態
-
エクセルのCSV読み込みについて
-
アクセスでウェブ上のデータを...
-
XMLでデータとして画像を指定す...
-
[リボンのキーボード ショート...
-
VBAでアクセスDBからデータの取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XMLでデータとして画像を指定す...
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
Excel VBAでフォルダ内の全テキ...
-
【VB.NET】Excelの最終行までの...
-
C# DataTableに最後に追加した...
-
「Nullの使い方が不正です」の...
-
VBAコンボボックスの内容が反映...
-
COBOL数値転記の仕様
-
クリスタルレポートでレコード...
-
VB2010で、選択した系列を最前...
-
アクセスでウェブ上のデータを...
-
Excel VBAで1週間毎にカテゴリ...
-
非同期のプロセス間通信(パイプ...
-
エクセルのセル最終行取得
-
ActiveReportのdetailをデータ...
-
富士通(汎用機)のAIMについて
-
Excel VBAでグループ毎に集計す...
-
エクセルのCSV読み込みについて
-
AccessVBAでのExcelメモリ解放
おすすめ情報