Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
VJ
Uploaded by
Visual Studio Users Group Japan
913 views
Dynamic Data
Dynamic Dataを使い、各種データコントロールの生産性を十分に引き出すWebアプリの作成方法をご紹介します。
Read more
0
Save
Share
Embed
Embed presentation
Download
Downloaded 25 times
1
/ 19
2
/ 19
3
/ 19
4
/ 19
5
/ 19
6
/ 19
7
/ 19
8
/ 19
9
/ 19
10
/ 19
11
/ 19
12
/ 19
13
/ 19
14
/ 19
15
/ 19
16
/ 19
17
/ 19
18
/ 19
19
/ 19
More Related Content
PPTX
Active Directoryデータのプロパティ出力(Output Properties)
by
Michio Koyama
PPTX
Active Directoryデータの "大きい整数"
by
Michio Koyama
PDF
Vsugアーキテクトアカデミー設立のご挨拶
by
Visual Studio Users Group Japan
PPTX
20091207
by
小野 修司
PDF
XOOPS Cube Conference 2012 Developer Workshop 3
by
Hikawa Kilica
PDF
Xslt
by
kmiyako
PDF
Parallel Technology
by
Visual Studio Users Group Japan
PPT
Vsugday ichigan
by
Visual Studio Users Group Japan
Active Directoryデータのプロパティ出力(Output Properties)
by
Michio Koyama
Active Directoryデータの "大きい整数"
by
Michio Koyama
Vsugアーキテクトアカデミー設立のご挨拶
by
Visual Studio Users Group Japan
20091207
by
小野 修司
XOOPS Cube Conference 2012 Developer Workshop 3
by
Hikawa Kilica
Xslt
by
kmiyako
Parallel Technology
by
Visual Studio Users Group Japan
Vsugday ichigan
by
Visual Studio Users Group Japan
Viewers also liked
PDF
Windows Azure Programming
by
Visual Studio Users Group Japan
PDF
OpenStackベースのハイブリッド・クラウドで変わるITの姿
by
Shinichiro Arai
PPTX
Vsug2011 lt
by
Visual Studio Users Group Japan
PPTX
さようなら、オートシェイプ
by
Visual Studio Users Group Japan
PDF
Vsug architect academy_sakakibara_20101016
by
Visual Studio Users Group Japan
PPTX
VSUG DAY_ ICHIGAN
by
Visual Studio Users Group Japan
Windows Azure Programming
by
Visual Studio Users Group Japan
OpenStackベースのハイブリッド・クラウドで変わるITの姿
by
Shinichiro Arai
Vsug2011 lt
by
Visual Studio Users Group Japan
さようなら、オートシェイプ
by
Visual Studio Users Group Japan
Vsug architect academy_sakakibara_20101016
by
Visual Studio Users Group Japan
VSUG DAY_ ICHIGAN
by
Visual Studio Users Group Japan
Similar to Dynamic Data
PDF
ドメイン駆動設計(DDD)の実践Part2
by
増田 亨
PDF
ドメイン駆動設計 の 実践 Part3 DDD
by
増田 亨
PDF
ドメイン駆動設計という仕事の流儀
by
増田 亨
PPTX
C# LINQ ~深く知って、使いまくろう~
by
Fujio Kojima
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PDF
Mvc conf session_4_ono
by
Hiroshi Okunushi
PPTX
20110607
by
小野 修司
PPT
20050917
by
小野 修司
PPTX
Asp.net dynamic data調査
by
Naoyuki Sano
PDF
8 power night2014_nakamura
by
TerraSky
PPTX
Data-driven Design: 4つの技法InfoPathを用いたスケーラブルSharePointソリューション
by
JamesLRishe
PPTX
The seminar of asp.net at 201908 sakurug
by
SAKURUG co.
PDF
Daisukei vsug ef
by
vsug_jim
PPTX
若気の至りを精算する
by
Kenji Daikoku
PPTX
Visual Studio による開発環境・プログラミングの進化
by
Fujio Kojima
PDF
LightSwitch で遊んでみた Rev. 2
by
Yoshitaka Seo
PPTX
Wagbyspec67 120621014818-phpapp02
by
Takahiro Shimizu
PPTX
20100324 勉強会資料(ドメイン駆動)
by
Masayuki Kanou
PDF
20170411 ヒカラボ データを武器に変える
by
Naoto Tamiya
PDF
160130 0dir system
by
aizawa_yoshikazu
ドメイン駆動設計(DDD)の実践Part2
by
増田 亨
ドメイン駆動設計 の 実践 Part3 DDD
by
増田 亨
ドメイン駆動設計という仕事の流儀
by
増田 亨
C# LINQ ~深く知って、使いまくろう~
by
Fujio Kojima
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
Mvc conf session_4_ono
by
Hiroshi Okunushi
20110607
by
小野 修司
20050917
by
小野 修司
Asp.net dynamic data調査
by
Naoyuki Sano
8 power night2014_nakamura
by
TerraSky
Data-driven Design: 4つの技法InfoPathを用いたスケーラブルSharePointソリューション
by
JamesLRishe
The seminar of asp.net at 201908 sakurug
by
SAKURUG co.
Daisukei vsug ef
by
vsug_jim
若気の至りを精算する
by
Kenji Daikoku
Visual Studio による開発環境・プログラミングの進化
by
Fujio Kojima
LightSwitch で遊んでみた Rev. 2
by
Yoshitaka Seo
Wagbyspec67 120621014818-phpapp02
by
Takahiro Shimizu
20100324 勉強会資料(ドメイン駆動)
by
Masayuki Kanou
20170411 ヒカラボ データを武器に変える
by
Naoto Tamiya
160130 0dir system
by
aizawa_yoshikazu
Dynamic Data
1.
DynamicDataなら簡単! 動きを確認しながら作る社内
Webアプリ VSUG フォーラムリーダ 小野@どっとねっとふぁん
2.
Dynamic Dataの基礎
3.
・利用するテンプレートを選択する Dynamic Data
Linq to SQL Web Site Dynamic Data Linq to SQL Web Application (LINQ to SQL を利用する:LinqDataSource) Dynamic Data Entities Web Site Dynamic Data Entities Web Application (Entity Frameworkを利用する: EntityDataSource)
4.
・利用するデータモデルを追加する LINQ to
SQLクラス ADO.NET Entity Data Model
5.
・Global.asaxの設定 DataContextの設定とScaffoldAllTables routes定義の変更
一覧/詳細/挿入/更新をページ毎に処理 一覧/詳細/挿入/更新を1つのページ内で処理
6.
Dynamic Dataの基礎終わり!
Routingから対象テーブル名、ページテン プレートを取得 ページに用意されたコントロール群が データを適切に表示 DynamicDataManager、LinqDataSource、 GirdView 等 個々の値の表示はフィールドテンプレー ト(ascx:ユーザコントロール)が行う
7.
ページテンプレートに頼らない GridView/LinqDataSource/
DynamicDataManagerを設定 コードでDynamicDataManagerとGridView を連結 この場合、Routingは必須要素ではない
8.
計算結果項目の追加
Userのパーシャルクラスを作成し、プロパティを追加 [ScaffoldColumn(true)] <- DynamicDataの表示対象とする [ReadOnly(true)] <- 読み取り専用 [DisplayFormat(ApplyFormatInEditMode=true, DataFormatString="{0}歳")] public int age { get { int _age = DateTime.Now.Year - birthday.Year; if (birthday.AddDays(-1).AddYears(_age) > DateTime.Now)_age--; return _age; } }
9.
削除フラグの非表示
LinqDataSourceで削除フラグが立っていないデータに絞り込み LinqDataSourceではテーブルの全項目を対象としないと追加/更新/削除不可 絞り込みは特定のデータだけでなく、ほかのコントロール等の値と連携することも可 MetaDataクラスを作成し、プロパティに属性をつける [MetadataType(typeof(UserMetaData))] <- MetaDataクラス名の指定 public partial class User { … public class UserMetaData <- 通常のクラスでもインナークラスでも可 { [ScaffoldColumn(false)] <- DynamicDataの表示対象からはずす public object delflg { get; set; } <- 元のクラスのプロパティと名前さえ合っていればよい }
10.
項目の並べ替え DynamicFieldを追加 項目の表示名を設定
11.
ListViewの利用 ListView/LinqDataSource/
DynamicDataManagerを設定 ListViewの構成時に「動的なデータを有効に する」 データ項目の並び替え/非表示項目の削除 ItemTemplate AlternatingItemTemplate InsertItemTemplate LayoitTemplate(項目の表示名を設定) EditItemTemplate SelectedItemTemplate
12.
エラーメッセージの変更 [Required(ErrorMessage="名前を入力してください")]
<- 必須エラーメッセージ public object name { get; set; } [Required(ErrorMessage="生年月日を入力してください")] public object birthday { get; set; } データベースではNUll許容の項目を必須と することも可
13.
表示方法の変更 [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString
= "{0:yyyy/MM/dd}")] public object birthday { get; set; } DateTimeを日付のみ表示にするといった ことが可
14.
入力文字列の評価 [RegularExpression(
@"¥w+([-+.']¥w+)*@¥w+([-.]¥w+)*¥.¥w+([-.]¥w+)*", ErrorMessage = "メールアドレスとして正しい値を 入力してください")] public object mail { get; set; } 正規表現を用いて入力チェック
15.
値変換エラーのメッセージ変更
専用のエラーチェック属性クラスを作成する [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)] sealed public class DateTimeCheckAttribute : ValidationAttribute { public override bool IsValid(object value) { DateTime dt; return DateTime.TryParse((string)value, out dt); } } [DateTimeCheck(ErrorMessage = "生年月日に日付として正しい値を入力 してください")] public object birthday { get; set; }
16.
カスタムフィールドテンプレート [UIHint("ForeignKeyText")]
<- 利用するフィールドテンプレートを指定 public object Gender { get; set; } デフォルトでは項目のタイプから自動で判断 用意されているフィールドテンプレートをコピーし、 修正するのが便利 Type名.ascx、Type名_Edit.ascxが利用される 存在しないType名を指定するとデフォルトの動作にな る コードビハインド側のクラス名の修正を忘れずに(こ ちらがキー)
17.
エラーのサマリー表示 ValidationSummaryを追加 ListViewではValidationGroup="Insert"用の
ValidationSummaryも必要 フィールドテンプレート内のValidatorの Textに"*"を設定
18.
項目間の関係による入力チェック LINQ to
SQLクラスではパーシャルメソッドが利用できる ValidationExceptionを返す partial void OnValidate(System.Data.Linq.ChangeAction action) { if (gid == 1 && age < 18) throw new ValidationException("男性は18歳以上しか登録できません"); if (gid == 2 && age < 16) throw new ValidationException("女性は16歳以上しか登録できません"); } actionの値で、追加/更新/削除それぞれの場合の動作を指定可能 DynamicValidatorを追加し、ListViewに連結 ValidationGroup="Insert"用も忘れずに
19.
今日のまとめ
DataAnnotationの属性一覧 @ITの記事が参考になる DBアプリをコーディングレスで構築する 「ASP.NET Dynamic Data」 データベースがあれば、とりあえず動く ものをみせて、そこでのエラーチェック、 表示は徐々に変えていける
Download