【ASP.NET】GridViewからDataTableの作成

意外と用途は少ないかも知れないが印刷回りを実装する時に必要に迫られて、GridViewからDataTableの作成を行ったので、忘れないようメモ。

//データテーブルを作成
DataTable dt = new DataTable();

//データテーブルに任意のカラムを追加
dt.Columns.Add("test0");
dt.Columns.Add("test1");
dt.Columns.Add("test2");

//GridViewの行数分ループしてDataTableを作成
for (int i = 0; i < GridView.Rows.Count; i++)
{
    DataRow dr = dt.NewRow();
    dr["test0"] = GridView.Rows[i].Cells[0].Text;
    dr["test1"] = GridView.Rows[i].Cells[1].Text;
    dr["test2"] = GridView.Rows[i].Cells[2].Text;
    dt.Rows.Add(dr);
}

絶対現場主義Visual C#実践講座―開発の現場から生まれた実践テクニック&TIPS集

著者/訳者:丸岡 孝司

出版社:ラトルズ( 2007-08 )

定価:¥ 2,730

Amazon価格:¥ 2,730

単行本 ( 411 ページ )

ISBN-10 : 4899771975

ISBN-13 : 9784899771975


【ASP.NET】デバッグモードでだけ実行するプログラムの書き方

処理時間を出力したりするのに、デバッグモードの時だけ出力したい時がある。
その時は以下のように記述

#if DEBUG
            Label1.Text = "デバッグの時だけ出力されます。";
#endif

※「DEBUG」は必ず大文字じゃないと、処理されない。

【ASP.NET】制約を有効にできませんでした。行に入力できるのは・・・

これまた長時間悩み苦しんだので。。。
メモしておく。
C#で、型付DataSet(XSD)を使ったプログラムを実行させてたら

「制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、あるいは外部キーですが、この制約の違反が 1 つ以上の行で発生しています。」

というエラーが出た。

DataTableの カラムのプロパティが間違っていた(MaxLengthの長さが実際よりも短かった)だけだった。

データベースのプロパティを変更したら必ず、DataSetのプロパティも変えないと。

プログラミングMicrosoft ASP.NET 3.5 (マイクロソフト公式解説書 Microsoft Visual Studi)

著者/訳者:Dino Esposito

出版社:日経BPソフトプレス( 2008-09-08 )

定価:¥ 9,975

Amazon価格:¥ 9,975

単行本(ソフトカバー) ( 1224 ページ )

ISBN-10 : 489100603X

ISBN-13 : 9784891006037