DataSet

データテーブル内のレコードのソート

[ADO.NET]データテーブル(DataTable)内のレコードをソートするには? http://www.atmarkit.co.jp/fdotnet/dotnettips/363dtsort/dtsort.html を参考に、 DataView dv = new DataView(dt); dv.Sort = "date"; とソート順を指定した。 これをDataGridのソ…

カスタム検証

前回「入力値のチェックにはColumnChangingイベントを使おう」と書いたが、これの配置について考えてみた。 このやり方なら、Windows Formで検証しなくてもDataSetの中でも処理できるんだよね。 あと、検証のルールが分散しないように集中させようとすると、…

入力値のチェックにはColumnChangingイベントを使おう

私のバイブルでも書いてあることだが、業務システムで更新処理を実装する場合、テーブル更新の前に更新処理の妥当性チェックが必要である。 チェック項目は以下を想定 入力文字種のチェック(半角英数字のみなど) 文字列長のチェック 数値・日付の範囲チェッ…

ColumnChanging

上記の方法はコントロールごとの設定が必要なので手間がかかる。 大元のDataSetのColumnChangingイベントを使うことで、コントロールがTextBoxかDataViewかを意識することなく処理できる。DataColumnChangeEventArgsのProposedValueで入力された値をチェック…

DBNull

DataRow[列名]でデータを取得するとき、DBNullの場合があるので注意 その場合は以下の要領でチェックすること if (row["RecordCount"] is DBNull) return 0; return (int)row["RecordCount"]; ん?isでやるのかも