2007-10-01から1ヶ月間の記事一覧

PlaceHolder や Panel にコントロールを動的に追加した時の挙動

ASP.NET の PlaceHolder や Panel にコントロールを動的に追加した場合、追加したコントロールの状態が保持されないようです。少しはまってしまったので、メモしておきます。確認手順は以下の通りです。 画面に PlaceHolder を配置 Page_Init() や Page_Load…

DataTable.Select() で日付型の比較

.NET (C#, VB.NET) の DataTable.Select() で、日付型の比較を行うには以下のようにします。 DataTable table = ...GetData(); // ... DataRow[] rows = table.Select(string.Format( "[{0}] = #{1}#", "DATE_COLUMN_NAME", DateTime.Today)); 上記のように…

Java ウェブフレームワーク Wicket

Java ウェブフレームワークのメモです。 Struts や Spring は有名だと思うので、 Wicket のリンクをメモしておきます。 Javaウェブフレームワーク「Wicket」の使い方 Apache Wicket - Home 今のところ、各フレームワークに対して以下のような比較というか感…

Windows のメモリ管理

ホワイトペーパー: Windows のメモリ管理の進歩 - NyaRuRuの日記を読みました。 Visual Studio 2005 では、 /DYNAMICBASE と /NXCOMPAT オプションなんてのが増えていたのですね。 id:NyaRuRu さんの記事は、メモリ関係が非常に詳しく参考になります。多くの…

SQL Server のエラー番号を調べる方法

SQL Server のエラー番号を調べるには、 sys.messages カタログ ビューを参照します。 (古いバージョンの SQL Server を使用している場合、 master.dbo.sysmessages テーブルを参照してください。)たとえば .NET で開発している場合、 SqlException.Number …

timingframework: Java でアニメーション機能を実装

Java でアニメーション機能を実装する場合、 timingframework が便利です。 Utility and Framework for timing and animations. The code serves as a tutorial on how to use timers, as well as a framework for doing more powerful things with timers. …

appframework: Swing を使うときに便利なフレームワーク

久しぶりに Java のライブラリを探検しているのですが、 appframework というのがあるのですね。 Application lifecyle, notably GUI startup and shutdown. Support for managing and loading resources, like strings, formatted messages, images, colors…

IEquatable と GetHashCode() はセットで実装

概要 .NET (C#, VB.NET) で、ジェネリックコレクションに独自の型を格納するときは、 IEquatable や IComparable と GetHashCode() の実装を行います。GetHashCode() の実装は忘れやすいため、注意が必要です。これらを実装することで、独自の型でキーが同じ…

フォントの表示テストに使用されるパングラム

フォントの表示テストには、パングラムが使用されます。パングラムを使用すると、アルファベット 26 文字を短い英文で表示することができます。代表的なパングラムの例として、「The quick brown fox jumps over the lazy dog. (すばしっこい茶色の狐はのろ…

設計文書のうまい書き方

設計文書のうまい書き方を読みました。設計文書 (基本設計書や詳細設計書) は、どの程度の粒度で書くか、人によってばらばらなのが困ります。*1個人的には、ソースコードがドキュメントという考え方が好きで、ユニットテストとリファクタリングを率先して行…

Windows Server 2003 と SQL Server 2005 と ASP.NET 2.0 の連携設定

Windows Server 2003 と SQL Server 2005 と ASP.NET 2.0 の連携設定のメモです。以下のサイトが参考になります。 Error message when you try to run an ASP.NET 2.0 application on a Windows Server 2003-based computer: "Server unavailable" How To: A…

C# で指定した曜日の日を取得

C# (.NET) で曜日を扱うには、 DateTime と DayOfWeek を使用します。サンプルとして、引数で指定した曜日で、指定日から最も近い未来日 (当日を含む) を取得するソースを以下に示します。このソースでは、 DayOfWeek の値を int に変換して、曜日の計算を行…

MSDN Magazine, November 2007

MSDN マガジン 2007 年 11 月号が公開されています。今号の特集は以下のようです。バックナンバーも公開されていますので、最新の技術を学ぶために是非活用してください。 信頼できるコンピューティング: より安全なソフトウェアの構築を目指した 5 年間の教…

ValidationProperty

作成したユーザコントロールやカスタムコントロールを Validator に対応させるには、 ValidationProperty 属性をクラスに設定します。詳細は MSDN を参照してください……といいたいところですが、残念ながらほとんど情報がありません。サーバサイドの検証に対…

ASP.NET で ComboBox

たまに ASP.NET で ComboBox を使いたいという要件があるのでメモ。 ComboBox WebControl - The Code Project - ASP.NET が参考になります。 *1 *1:しかし、 Web で ComboBox はやめてほしい。普通に DropDownList にしようよ……。

約 6 週間ぶりのバックアップ

前回のバックアップから約 6 週間がたちました。これからも定期的にバックアップをとることを宣言します :-)

JavaScript でデバッグ出力 (trace) を使用

ASP.NET Ajax を使用していると、 JavaScript で trace() が利用できます。デフォルトの出力先は、 Visual Studio の出力ウィンドウです。これで、表示がうっとうしい alert() に頼らずにすみます。 Sys.Debug.trace("debug"); なお、デバッグ出力を行うには…

ページ表示時、 pageLoad() が自動的に呼ばれる

ASP.NET Ajax を使用している場合、 pageLoad() という名前の JavaScript function があると、ページロード時に自動で呼び出されます。たとえば、以下の JavaScript を記述してページを表示すると、特にイベントを明示的に関連づけなくとも、メッセージボッ…

DateTime.TryParseExact() の使用法

TryParseExact() の使用法メモです。サンプルは C# で記述していますが、 VB.NET でもほぼ同等です。 using System.Globalization; // for DateTimeStyles // .. string value = "2007/10/20"; // 月と日は 1 桁でも 2 桁でも可とする const string FORMAT =…

GridView 内のデータを 3 桁区切りで表示

GridView (ASP.NET) のデータに書式を設定するには、 DataFormatString プロパティを使用します。たとえば、数値を 3 桁区切りで表示するには、以下のように設定します。ポイントは、 HtmlEncode 属性を False にすることです。 <asp:BoundField HeaderText="Sum" DataField="Sum" DataFormatString="{0:N0}" HtmlEncode="False" /> 構文などの詳細は MSDN を参</asp:boundfield>…

GridView のコマンドメモ

GridView の動作を TemplateField に配置したカスタムのボタンなどで行いたい場合、 CommandName プロパティ (と CommandArgument プロパティ) を使用します。 CommandName プロパティに設定できる文字列は、以下のようです。 Edit Delete Update Cancel Pag…

Web 標準を使用した ASP.NET 2.0 Web サイトの構築

ASP.NET を使用しながら W3C などの標準にできる限り準拠する場合、以下のサイトが参考になります。*1 Web 標準を使用した ASP.NET 2.0 Web サイトの構築 Japan.internet.com デベロッパー - ASP.NET 2.0を使ってCSS対応のWebサイトを作成する ASP.NET 2.0 C…

web.config や app.config の内容へアクセスする方法

忘れやすいので箇条書きでメモします。 System.Configuration.ConfigurationManager.ConnectionStrings["SourceName"].ConnectionString global::DataAccessNamespace.Properties.Settings.Default.SourceName System.Web.Configuration.WebConfigurationMan…

ユーザコントロール (ASP.NET) を動的に作成

ASP.NET でユーザコントロール (UserControl) を動的に作成するには、 LoadControl() を使用します。通常のやり方 (new) では、作成できないので注意が必要です。 DateTextBox control = (DateTextBox)LoadControl("~/UserControl/DateTextBox.ascx");

Windows Forms のカスタムコントロール

Windows Forms でカスタムコントロールを作成するには、 MSDN (Custom Windows Forms Controls: ColorPicker.NET) が参考になります。目次からたどれる同階層のドキュメントにも、有用な情報が多く掲載されています。

データバインディングの構文メモ

ASP.NET で使用できるデータバインディングの構文をメモしておきます。 15 Seconds : Simplified and Extended Data Binding Syntax in ASP.NET 2.0 の情報がまとまっていて参考になります。 <%# Container.DataItem("expression") %> <asp:Label id="label1" runat="server" Text='<%# Container.DataItem("CustomerName") %>' /> <%# DataBinder.Eval(</asp:label>…

RangeValidator で日付チェック

ASP.NET の Validator で日付チェックを簡単に行うには、 RangeValidator が便利です。以下のように、「Type="Date" MinimumValue="1900/01/01" MaximumValue="9999/12/31"」と設定してください。 (MinimumValue と MaximumValue は、業務要件によって変更し…

RegularExpressionValidator で数値 (少数を含む) を許可

ASP.NET の RegularExpressionValidator で数値 (整数、小数) を許可するには、「ValidationExpression="^[0-9]+(\.[0-9]{1,4})?$"」とします。ここでは、小数点以下 4 桁まで許すようにしました。 (正規表現内の 4 という数字を任意の数字に変更することで…

RegularExpressionValidator で英数字を許可

前述の FilteredTextBoxExtender は、入力制御に ClientScript (JavaScript) を使用します。そのため、 ASP.NET の Validator を併用し、スクリプトが無効な環境でも検証を有効にする (サーバ側での検証も行う) のが望ましいです。RegularExpressionValidato…

FilteredTextBoxExtender で英数字を許可

Ajax Control Toolkit の FilteredTextBoxExtender で英数字を許可するには、 FilterType 属性を Custom にして ValidChars 属性を設定してもいいですが、「FilterType="UppercaseLetters, LowercaseLetters, Numbers"」というように設定することもできます…