C#2.0

System.Windows.Forms.MonthCalendarで日付の色を変える

MonthCalendarで休日の色を分けたいので調査 Nicke Andersson The writings of a .NET nut. http://nickeandersson.blogs.com/blog/2006/05/_modifying_the_.html このソースを貼り付けて、クラスを作るとあっさり動いた。 と、思ったけど地雷が多くて一般公…

項目は既に追加されています。辞書のキー: 'System.Object' 追加されるキー: 'System.Object'

WebServiceの非同期メソッドではまったのでメモ以下のメッセージがでて調査。 項目は既に追加されています。辞書のキー: 'System.Object' 追加されるキー: 'System.Object' 場所 System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean ad…

バインディング時の書式設定

テキストボックスにバインディングした場合に、3桁区切りや、小数点以下の表示制御などをしたい場合には、Binding.Formatイベントで実現できる。 これはGUIでは設定不可かも。Binding.Format イベント http://msdn2.microsoft.com/ja-jp/library/system.wind…

検証処理の参考資料メモ

GridView コントロールのイベントに関する調査 http://www.microsoft.com/japan/msdn/columns/winforms/winforms02172004.aspx

バージョン管理の方法

ちなみに、.NET の System.Version クラスにおいては、Major/Minor/Build/Revision の 4 構成になっており、SDK では Major: 下位互換性が無い更新 Minor: 下位互換性を目的とした大幅な改良 Build: 同一ソースの再コンパイル(CPU, OS, コンパイラのみの変更…

"LC.exe" はコード -1 を伴って終了しました。

コンポーネントの入れ替えしてたら「"LC.exe" はコード -1 を伴って終了しました。」とメッセージがでてビルドできなくなった。幸いGrapeCityのEl Tabelle Sheet 4.0JのQ&Aに情報があったのでメモ Question: ビルド時に「"LC.exe" はコード -1 を伴って終了…

検証

検証処理のサンプルで、「これだ!」ってヤツになかなか出会わない。 チュートリアルでそれに近いものを発見。要検証 チュートリアル : Windows フォーム DataGridView コントロールのデータの妥当性検査 http://msdn2.microsoft.com/ja-jp/library/ykdxa0bc…

カスタム数値書式指定文字列

カスタム数値書式指定文字列 http://msdn2.microsoft.com/ja-jp/library/0c899ak8(VS.80).aspx セミコロンで区切れば、正のときと負のときと0の時の書式変更ができる。 #,##0;-;0 このようにすればマイナスのときはハイフンを表示する。 データグリッドでも…

パラメータの永続化まとめ

object[] の parameterArray をシリアライズ化して保存する場合、以下の手順で可能 object parameterArray = new object {"あれや","これや","hogehoge"}; string parametersSerialized = string.Empty; UTF8Encoding uniEncoding = new UTF8Encoding(); Xml…

パラメータの永続化

メソッドを名前で動的に呼び出す方法はわかったので 自由にロードして起動できるようになった。しかしメソッドにパラメータを渡したいときに困る。 DLLのパス名や、メソッド名は文字列で保存すればよいが、パラメータに使用するオブジェクトは文字列以外も存…

メソッドを名前で動的に呼び出す方法

文字列で指定したメソッドを呼び出すには? http://www.atmarkit.co.jp/fdotnet/dotnettips/389methodinvoke/methodinvoke.html メソッドやプロパティの有無を確認して呼び出すには? http://www.atmarkit.co.jp/fdotnet/dotnettips/359callbyname/callbynam…

入力を制約するために正規表現を使用する方法

How To: ASP.NET への入力を制約するために正規表現を使用する方法メモ中でも正規表現にコメントをつける機能に感動 Regex regex = new Regex(@" ^ # 開始のアンカー (?=.*\d) # 最低でも1桁の数字が必要 (?=.*[a-z]) # 小文字が1文字必要です (?=.*[A-Z]) #…

実数の扱いについて

財務的な計算には10進数で計算できるDecimalの方が扱いやすいのだろうか? doubleじゃダメな場面もあるんだろうけど、この辺りの理解が浅い。 要調査 C# プログラマーズ リファレンス decimal (C# リファレンス) SQL Server データ型と .NET Framework デー…

型指定DataSetに対して未登録の列が自動的に追加される。

型指定DataSetに対して、DataAdapterを使用して、Fillメソッドを実行した場合に、SQL文の結果に型指定で指定していない列が存在した場合、この列は自動的に追加される。 結果、型指定DataSetなのに、指定外の列が生成される。これを回避するには、DataAdapte…

DataRowのコピー

一覧で検索したDataSetから、一行取り出して、別のDataSetにコピーしたい場合がある。 @IT会議室から引用すると DataRowをDataTableに設定 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5350&forum=7 DataRow[] drGet = hoge(); DataTable dt =…

C#の正規表現で.(ピリオド)で改行を含む方法

正規表現のピリオドは「任意の1文字にマッチする」という意味だが、唯一“\n”にはマッチしない。 スマートな文字列処理のための正規表現入門(前編) .NET Frameworkがサポートする正規表現クラスを徹底活用する http://www.atmarkit.co.jp/fdotnet/basics/re…

WS-Security入門

Webサービスのセキュリティ関連の実装がいまいち不明。 カスタムヘッダにユーザー名、パスワードを突っ込んで、SSLがあれば問題ないのかな? そのあたりをつらつらと・・・ WS-Securityとは http://e-words.jp/w/WS-Security.html Web Services Security (WS…

更新処理ってむずかしい

SqlDataAdapterの自動生成のコードを見ていると、楽観的同時実行の制御のため、古いバージョンの情報と新しいバージョンの情報を一度に渡して、それらを比較するような処理が行われている。しかし、渡しているパラメータはDataRowのみ。 それでどうやって新…

DataGridViewComboBoxCellの値が有効ではありません。

3日ほどはまったのでメモ DataGridViewで、ComboBoxが使える .NET 2.0で新登場するWindowsコントロール http://www.atmarkit.co.jp/fdotnet/special/win20review01/win20review01_01.html データベースのマスタと連携しようと思って、 DataGridViewComboBoxC…

SqlError.Number プロパティ

SqlError.Number プロパティ http://www.microsoft.com/japan/msdn/library/ja/cpref/html/frlrfsystemdatasqlclientsqlerrorclassnumbertopic.asp

DataGridViewの内容を更新したらDBも更新したいの答え

BindingSourceのイベントCurrentItemChangedを使用する。 CurrentItemChangedは、行の移動で発生する。イベントが発生したら、BindingSource.CurrentからDataRowViewを取得する。追加時にDataRowView.IsNewプロパティはTrueになるので、この場合は変更なし。…

DataGridViewの内容を更新したらDBも更新したいのだ。

環境 WindowsForm型指定DataSet BindingSource.DataSourceに型指定DataSetを指定する DataGridView.DataSourceにBindingSourceを指定するこの状態で、 DataGridViewに行を追加して(このとき初期値のチェックと修正がしたい) 列の中身を修正(このとき文字…

ComVisibility 必要条件

ServicedComponentを継承したDLLで、 厳密なキーファイルを設定したのに 以下のようなエラーが出てはまったのでメモ。 無効な ServicedComponent 派生クラスがアセンブリに見つかりました。 (クラスは public、 concrete で、パブリックの既定コンストラクタ…

Webサービスの例外処理

.NET における例外管理 http://www.microsoft.com/japan/msdn/net/bda/exceptdotnet.asp#exceptdotnet_topic7のWebサービスの項に Web サービス メソッドが未処理例外を送出したとき、その例外は SoapException として再パッケージ化され、SOAP 応答を介して…

カスタム検証

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

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

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

交互の行で背景色を変えつつ、特定列の背景色は統一する方法。

AlternationgRowsで背景色を変えながら、 特定の列では列単位で同じ背景色にしたいと思うと、 DataGridViewRow.DefaultCellStyle行単位なので却下 DataGridViewCell.Style DataGridViewCell.InheritedStyle のいずれかで登録する方法しか用意されていないよ…

Windows フォーム DataGridView コントロールでのセルのスタイル

やりたいこと 列A 列B 列C 列D デザイナで作成すると 列A 列B 列C 列D 通常、DataGridViewで一行おきに背景色を変える場合は、AlternatingRowsDefaultCellStyle プロパティでBackColor を変更すれば反映される。 方法 : Windows フォーム DataGridVi…

ツリービューの選択された項目の処理手順

AfterSelect イベントを使用するTreeViewEventArgsのNodeから情報取得登録時にKeyで指定した値はName、Textで指定した値はTextで取得できる

BindingSourceからデータを取得する方法

10 行でズバリ !! カーソルコントロール (C#) http://www.microsoft.com/japan/msdn/thisweek/300x10/phase2/cursor/cs.aspxにあるように、BindingSourceを使うと、カレントレコードの移動などを容易に管理できる。 またBindingSourceをComboBoxのDataSource…