常言笑的家

          Spring, Hibernate, Struts, Ajax, RoR

          詳解Silverlight 4中RIA Service dataform Template, 代碼選擇控件及Validate驗(yàn)證的技巧

          本文和大家分享一下Silverlight 4 RIA Service dataform Template, 代碼選擇控件,Validate驗(yàn)證使用技巧
          功能 
          定義只讀,新增,編輯三塊模塊
           
          定義模板的目的是更好的復(fù)用和提高XAML代碼的可讀性和可維護(hù)性,也可以更好的分工合作。下面是一個(gè)歸并關(guān)系的維護(hù)界面。 
           

           
          主要有表頭,多個(gè)表體組成,為了把所有操作盡量在一個(gè)頁面中完成,表頭使用一個(gè)DataForm空間,表體使用DataGrid和DataForm組合實(shí)現(xiàn)。
          而DataForm有三種狀態(tài)分別是只讀(顯示不可編輯),編輯,新增。因此我們需要為這三種模板來控制每個(gè)控件的布局和屬性,比如只讀狀態(tài)下空間的IsReadOnly為True,編輯狀態(tài)下,關(guān)鍵字字段的IsReadOnly為True,其他字段可以編輯,編輯狀態(tài)使用選擇控件方便輸入,新增狀態(tài)下,對(duì)于關(guān)鍵字段和必填字段需要用粗體字體顯示(默認(rèn))或其他形式提醒操作用,這都需要在不同的模板中定于。
          提示:布局使用Data Filed控件系統(tǒng)默認(rèn)根據(jù)DataForm控件的狀態(tài)改變Data Field編輯狀態(tài)
          下圖是編輯狀態(tài)下的布局


          模板文件

          XAML代碼


          自定義代碼選擇控件,快速輸入控件
           
          最常見的單機(jī)放大鏡彈出所有記錄選擇后返回頁面或是在一個(gè)TextBox中輸入一個(gè)代碼(料號(hào))自動(dòng)帶出名稱,單位,單價(jià)等信息實(shí)現(xiàn)快速輸入。如果用asp.net需要寫需要JavaScript代碼,而使用Silverlight則非常容易就能實(shí)現(xiàn)。


          XAML代碼;


          通過把需要帶出的字段綁定到自定義控件上。
          Silverlight代碼
          屬性綁定代碼


          賦值代碼


          為了提高代碼的可讀性,推薦使用匿名方法
          類似的簡單的CodeValue的選擇使用AutoCompleted控件自己小改一下便可實(shí)現(xiàn)

          下面是實(shí)現(xiàn)代碼,名稱快速轉(zhuǎn)換的實(shí)現(xiàn),顯示名稱保存代碼
          定義一個(gè)Converter,和一個(gè)代碼組的數(shù)據(jù)源


          數(shù)據(jù)源繼承一個(gè)接口方便轉(zhuǎn)換時(shí)使用

          字段輸入驗(yàn)證(唯一性驗(yàn)證)
           
          通過對(duì)DomainService生成的metadata class的字段添加屬性進(jìn)行驗(yàn)證。為了更好維護(hù)對(duì)驗(yàn)證數(shù)據(jù)的提示信息,可以使用資源文件保存比如,驗(yàn)證支持特定屬性和正則表達(dá)式,自定義驗(yàn)證




          代碼

          唯一性驗(yàn)證
          需要對(duì)提示用戶輸入的信息重復(fù)了


          代碼


          注意:這里需要添加一個(gè)編譯條件,不然無法編譯過去。

          posted on 2011-03-27 19:05 常言笑 閱讀(1709) 評(píng)論(2)  編輯  收藏 所屬分類: SilverLight

          Feedback

          # re: 詳解Silverlight 4中RIA Service dataform Template, 代碼選擇控件及Validate驗(yàn)證的技巧 2011-03-30 19:19 程義山

          能不能提供上述例子的源碼學(xué)習(xí)?
          chyishan@tom.com
          chyishan@qq.com
          謝謝  回復(fù)  更多評(píng)論   

          # re: 詳解Silverlight 4中RIA Service dataform Template, 代碼選擇控件及Validate驗(yàn)證的技巧 2012-03-16 16:10 鑫子

          樓主很強(qiáng)啊,能否共享一下上面例子的源碼 needloss@163.com  回復(fù)  更多評(píng)論   


          My Links

          Blog Stats

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 吴忠市| 景谷| 镇坪县| 巴东县| 界首市| 汉阴县| 忻城县| 巍山| 张家口市| 东阿县| 莱芜市| 县级市| 太保市| 浦江县| 霍林郭勒市| 崇阳县| 郓城县| 涟水县| 射阳县| 台东市| 永川市| 金坛市| 清苑县| 竹山县| 铁力市| 会泽县| 舞钢市| 深水埗区| 台中县| 屏山县| 隆尧县| 冷水江市| 迁西县| 尉氏县| 齐齐哈尔市| 洱源县| 安塞县| 张掖市| 芜湖市| 巫溪县| 平果县|