読者です 読者をやめる 読者になる 読者になる

からめもぶろぐ。

ワタシ SharePoint チョット デキル

続・WindowStyle を None にしてカスタムウィンドウを作ってみる

前回の記事の続きです。Win32 API を駆使してカスタム ウィンドウの動作を制御していたのですが、実はまだ問題がありました。実は、最小化または最大化したときにアニメーションが行われないのですよね。文字だけだと伝えにくいのですが、パッと出てパッと消…

WindowStyle を None にしてカスタムウィンドウを作ってみる

WPF でタイトル バーをカスタマイズしたいということはあるのですが、割と簡単にできそうな WindowStyle プロパティを None に指定する方法があまりに残念であることと、WindowChrome クラスもあまり精度が高くないようなので (ちょっと試した感じではリサイ…

カスタム属性の拡張メソッドが追加されている件について

C#

Twitter で以下のようにつぶやいていたのですが、.NET 4.5 からカスタム属性を取得するためのジェネリックな拡張メソッドが追加されました。http://t.co/BY4eIGPsqM こんなのが追加されてたんだ— からめも (@karamem0) March 1, 2013これまでは var asm = As…

LINQ to Entities クイック リファレンス

この記事は「C# Advent Calendar 2012」の参加記事です。atnd.orgLINQ to Entities におけるクエリの記述方法は LINQ to Entities でのクエリ に記載があるのですが「SQL ではこうやりたいのに!」というときの逆引きリファレンスがなかったので、まとめてみ…

LINQ to Calil 0.5.0 に更新しました

LINQ to Calil を 0.5.0 に更新しました。github.com市町村リスト (http://calil.jp/city_list) が取得できるようになりました。JSON の戻り値を平坦化して取得するので、データとしては冗長になりますが、操作はしやすいと思います。 ひっそりと .NET 4.5 …

knockout.js の observableArray でクライアントサイド検証を有効にする

ko.observableArray でバインドしたフォーム要素にバリデーションをかけようと思ったのですが、普通にやっただけではうまく動いてくれないようです。knockout.js のプラグインで Knockout Validation というのもあるようなのですが、 そもそも ko.observable…

UpdateModel で子エンティティも含めて更新しようとしたらうまくいかなかった

Controller の UpdateModel (または TryUpdateModel) で子エンティティも含めて更新しようと思ったらうまくいかなかったので、サンプル コードを書いて検証してみます。 モデル 以下のような親子関係を持つ POCO エンティティを用意します。 Models/Group.cs…

Json メソッドで POCO エンティティを返すかとどうか

ちょっとこんなやり取りがありました。Json() メソッドで返そうとしたときに、POCOエンティティが循環参照してるとクライアント側に何も帰ってこないのも割合困る。今は無理やりnull突っ込んでるけど。— からめも (@karamem0) September 23, 2012ちなみに、…

knockout.js でページの再読み込みに対応する

前回の記事の続きです。blog.karamem0.jp前回の状態だと、ページを再読み込みすると、検索結果がすべて消えて初期状態に戻ってしまうという問題点がありました。それではやはり使い勝手が悪いので、対応を考えてみたいと思います。 簡単に言ってしまうと、デ…

knockout.js を使って検索をしてみる

前の記事とだいぶ時間が空いてしまいましたが、引き続き knockout.js を弄ってみます。blog.karamem0.jp今回は検索をしてみたいと思います。 サンプル コード Models/Person.cs 簡単な Model を作成します。 public class Person { public string Id { get; …

knockout.js を使ってページングを実装してみる

knockout.js がいい感じに便利で楽しいので、いろいろ試してみました。今回はページングを実装してみます。 サンプル コード Shared/_Layout.cshtml knockout.js を呼んでおくのを忘れずに。knockout.js は NuGet で入手できます。 <html> <head> <title>@ViewBag.Title</title> <script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script> </head></html>

LINQ to Calil 0.4.0 に更新しました

LINQ to Calil 0.4.0 に更新しました。Silverlight バージョンを作ってみました! なお、Silverlight は WebClient が非同期しか提供されていないので、AsEnumerable メソッドは実装せず、AsObservable メソッドのみの提供となります。とりあえず GetLibrary…

XmlSerializer と DefaultValueAttribute は一緒に使うとよくないことが起きるらしい

C#

いまさらなのですが DefaultValueAttribute 属性が付けられたフィールドを XmlSerializer でシリアライズすると、XML に値が書き込まれないらしいです。しかも、デシリアライズするときも何もしてくれないので、データが消えてしまいます。再現するコードを…

LINQ to Calil 0.3.0 に更新しました

LINQ to Calil を 0.3.0 に更新しました。Observer パターンを実装してみましたが、Rx から動かすところとかちゃんとテストしてないです。

LINQ to Calil 0.2.0 に更新しました

LINQ to Calil 0.2.0 に更新しました。更新内容としては、蔵書検索ができるようになりました。とりあえず検索ができますねというレベルでこれから細かい修正を入れていく予定ですが、ポーリングするときのイベント発生と OrElse による ISBN とシステム ID …

LINQ to Calil を公開しました

LINQ の実装の勉強も兼ねてカーリルの図書館 API を LINQ ライクに実行するためのライブラリを作成しました。codeplex で公開しています。 (追記) GitHub に変更しました。とはいっても、現在のバージョン (0.1.1) ではまだ図書館検索しかできません。正式版…

SharePoint 2010 で人の検索ボックスを使って簡易メール フォームを作ってみる

SharePoint のコントロールで飛び抜けて使い勝手がいいのは「人の検索ボックス (PeopleEditor)」と呼ばれるコントロールです。Active Directory のユーザーやグループを検索してくれる優れものです。見た目は以下のような感じで、標準でもいろいろなところで…

SharePoint アプリケーション ページで Web.config を使用する

SharePoint アプリケーション ページは「空の SharePoint プロジェクト」というテンプレートから作るため、初期状態ではまったくファイルが存在しない状態ですが、Web.config を配置することができます。ただし、ちょっとした工夫が必要になります。 Web.con…

SharePoint アプリケーション ページでアセンブリ リソース ファイル (resx) を使用する

ASP.NET Web ページでアセンブリ リソース ファイルを使用する場合、ASP.NET Web ページのリソースの概要 で説明されているように、App_GlobalResources フォルダーまたは App_LocalResources フォルダーに resx ファイルを格納します。ところが SharePoint …

DirectorySearcher の PageSize と SizeLimit をいじってみる

C#

前回の記事の続きです。blog.karamem0.jpActive Directory のすべてのユーザーオブジェクトを列挙する次のようなコードを考えてみます。 public static class Program { private static void Main(string[] args) { using (var entry = new DirectoryEntry("…

System.DirectoryServices 名前空間を使って LDAP 検索をする

C#

System.DirectoryServices.dll を参照設定すると LDAP (Lightweight Directory Access Protocol) による Active Directory 検索ができるようになります。やってみたらそれほど難しくはありませんでした。 ユーザーの検索をしてみる domain.local ドメインに…