日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

smartClient 2--可视化组件

發布時間:2025/6/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 smartClient 2--可视化组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、功能: 1、標準功能 Foundation Services Foundation Components Event Handling Controls Forms Grids Trees Layout DataBinding Themes/Skins

?

2、擴展功能 SmartClientServer //包含Java類庫的集成后端 Analytics Real-Time Messaging Network Performance

?

二、開發語言 1、XML 2、JavaScript(推薦使用) 三、資源:https://www.smartclient.com/smartclient/showcase/?id=formLayoutFilling&skin=Simplicity&fontIncrease=1&sizeIncrease=2 四、樣式修改: 1、更換系統皮膚:引用不同的css包 2、自定義樣式: a. 同系統皮膚自成一個文件夾的形式一樣,新建文件夾(如BrushedMetal),將最接近目的皮膚的文件夾里的內容(包含skin_styles.css ??images/ ??load_skin.js)copy進新文件夾 b.?在首頁入口文件中引用的皮膚樣式文件中引入新建樣式 c. 在skin_styles.css和load_skin.js的文件底部重寫樣式(找到某個需要修改的類,例如button,在后面寫上覆蓋樣式即可) 3、重構獨立的組件內部的樣式 五、可視化組件 1、獨立組件 a. 識別組件(引用組件方式) 采用 id: ??默認組件的id是全局命名空間下的(所以命名id時,需要注意唯一性) isc.Label.create({ID: "helloWorldLabel",contents: "hello world" });

?

自動分配id,規則:isc_ClassName_ID_# var helloWorldLabel = isc.Label.create({ contents: "Hello World" }); b. 組件布局:通過設置組件屬性的方式創建組件? ? 注意:如果不是在組件中定義組件布局(如下),而是在CSS/HTML中直接修改,則必須手動做好瀏覽器兼容問題 isc.Label.create({top: 10, //int,相對于該組件的containerleft: 10,width: 10, //int | string "50%", 默認100contents: "hello world",overflow: "hidden | scroll | auto",position: "relative | absolute | fixed" //默認absolute,相對于該組件的container });

? ??

c. 組件的渲染、隱藏、顯示 autoDraw: true | false; //默認TRUE,即create即顯示,如果FALSE,則需要js控制: hiddenBtn.show(); show(); hide();eg. isc.Button.create({ID: 'hiddenBtn',title: 'Hidden',autoDraw: false });

? ? ? ?

d. 組件的事件 click recordClick change tabSelectedeg. isc.Button.create({ID: "clickBtn",title: "click me",click: function(){},click: "isc.warn('button was clicked')",click: "clickFn()" }); function clickFn() {......}

?

e. 數據綁定 字段field:包括組件字段 和 數據源字段 //網格的形式顯示 isc.ListGrid.create({ID: "contactList",left: 50, top: 50,width: 300,fields: [{name: "salutation", title: "Title"}, //name 是關聯數據庫中的value,title是顯示文字(在表單控件中是作為label顯示,在button中是作為button上的文字顯示){name: "firstname", title: "First Name"} ] });data: [{salutation: "Ms", firstname: "Kathy"},{salutation: "Ms", firstname: "Kathy"}, ];//DynamicForm的格式顯示 isc.DynamicForm.create({......同上});

?

g. 表單控件? ? 注意:一旦組件綁定了數據源,組件將會根據數據源的數據格式自動匹配表單控件《即不需要fields字段,會自動匹配并綁定數據》。但是通常fields和 dataSource共存,行使不同的職責( 表單字段(field)或者說控件的默認類型(editorType)是text ) //editorType: text select date checkbox radioGroup textArea isc.DynamicForm.create({ID: "contactForm",......,fields: [{name: "salutation", title: "Title", editorType: "select"}, {name: "firstname", title: "First Name", editorType: "date"},{name: "gender", title: "gender", editorType: "radioGroup", valueMap: ["female", "male"]} //valueMap 是數組形式的radio的選項顯示文字 ] });

?

h. 數據源(數據源的定義格式類似SQL數據存儲格式,區別在于:1)存儲方式是XML或者js;2)必須定義數據類型;......) <DataSource ID="contactsDS"> <fields><field primaryKey="true" name="id" hidden="true" type="sequence" /><field name="salutation" title="Title" type="text" ><valueMap><value>Ms</value><value>Mr</value><value>Mrs</value></valueMap></field><field name="firstname" title="First Name" type="text" /><field name="lastname" title="Last Name" type="text" /><field name="birthday" title="Birthday" type="date" /><field name="employment" title="Status" type="text"><valueMap><value>Employed</value><value>Unemployed</value></valueMap></field><field name="bio" title="Bio" type="text" length="2000" /><field name="followup" title="Follow up" type="boolean" /> </fields> </DataSource>

?

h1.?? ?xml格式的DataSource創建好之后,在js文件里引入該文件,并通過 dataSource 屬性,即可綁定數據(此時用dataSource代替了fields屬性) <isomorphic:loadDS ID="contactsDS" /><%@ taglib uri="isomorphic" prefix="isomorphic" %> <HTML> <HEAD><isomorphic:loadISC /> </HEAD> <BODY> <SCRIPT><isomorphic:loadDS ID="contactsDS" /> isc.ListGrid.create({ID: "contactsList",left: 50, top: 50,width: 500,dataSource: contactsDS});isc.DynamicForm.create({ID: "contactsForm",left: 50, top: 200,width: 300,dataSource: contactsDS}); </SCRIPT> </BODY> </HTML>

?

h2.?? ?字段屬性(fields的屬性type)和表單控件一一對應規則: Field attribute Form control valueMap provided SelectItem (dropdown) type:"boolean" CheckboxItem (checkbox) type:"date" DateItem (date control) length > 255 TextAreaItem (large text box)

?

h3.? ? 數據源的操作 //以下方法均包含可選三個參數:dataObject,callback,propertiseObject fetchData(); filterData(); addData(); updateData(); removeData();//使用方法: 1)直接在數據源中使用 2)直接在組件做數據綁定的時候使用 contactDS.addData({salutation: "Mr", firstname: "Steven", lastname: "Hua"},"say("hello")",{prompt: "add new contact..."} );orcontactsList.fetchData({lastname: "nihao"} );

?

h4.?? ?調用組件方法操作數據 editRecord(); editNewRecord(); saveData();

?

?

轉載于:https://www.cnblogs.com/hihao/p/7896941.html

總結

以上是生活随笔為你收集整理的smartClient 2--可视化组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。