過程|控制項 在ASP中使用智島網格控制項全過程
--------------------------------------------------------------------------------
智島網格控制項作為資料的展示層,可以非常方便的進行貨幣樣式、人民幣大小寫、中文大小寫、各種邏輯樣式、百分比樣式、千分位分割等樣式設定;可以凍結、鎖定行列、對輸入資料進行驗證;可對欄位設定公式,方便快捷地統計、摘要資料。智島網格控制項以其豐富多樣的表現形式、簡單易用的操作贏得了廣大軟體開發人員的一致好評。下面和大家分享一下智島網格控制項在ASP中的應用心得:
圖1 樣式設定
圖2 圖片管理
圖3 多層標題
圖4 匯總模式
圖5 凍結鎖定
圖6 合并模式
一、註冊智島網格控制項
下載智島網格控制項(其檔案名稱為OGrid.ocx)後,按照如下方法註冊控制項:
點擊“開始”→“運行”;在運行對話方塊中輸入以下命令:
regsvr32 < OGrid.ocx檔案的絕對路徑> 註冊智島網格控制項控制項
regsvr32 /u < OGrid.ocx檔案的絕對路徑> 解除智島網格控制項的註冊
二、在頁面中添加智島網格控制項
在頁面中加入以下代碼,即可插入智島網格控制項:
<object classid="clsid:79B00E6B-6110-46AE-891C-97773022C958" width="0" height="0" id="OGrid" CODEBASE="http://www.oapro.com/ostarocx/download/OGrid.ocx"></object>
其中:
width和height:指控制項的顯示寬度和高度;
id:指控制項對象的名稱,通過該名稱實現對控制項的操作;
CODEBASE:指沒有安裝智島網格控制項的用戶端運行該頁面時自動下載安裝該控制項的刂貳?lt;/P>
三、用智島網格控制項表現XML格式資料
1. XML文檔格式
智島網格控制項採用XML文檔作為資料存放區交換格式,下面是一份XML文檔格式:
<?xml version="1.0" encoding="GB2312"?>
<Table>
<TableInfo><!--表資訊-->
<TableName>人事表</TableName><!--資料表名稱-->
<FieldInfoArray>
<FieldInfo><!--記錄欄位資訊的XML-->
<FieldName>姓名</FieldName><!--欄位名稱-->
<DataType>10</DataType><!--欄位資料類型3:邏輯型7:數值型10:字元型12:備忘型23:日期型-->
<CellType>0</CellType><!--表元類型0:文字框,1:組合框,2:檢驗框,3:日期時間,7:人民幣小寫欄金額控制項-->
</FieldInfo>
...
</FieldInfoArray>
</TableInfo>
<Rows><!--多行資料-->
<Row><!--單行資料-->
<name>張三</name>
<sex>男</sex>
...
</Row>
...
</Rows>
</Table>
2. 代碼實現
通過以下語句通知智島網格控制項開啟XML文檔:
OGrid.OpenTableXML("")
其中引號內XML文檔的絕對路徑,例如:
http://www.oapro.com/ostarocx/sample/OGrid/xml/樣式設定.xml
或者
C:\樣式設定.xml
四、用智島網格控制項表現來自於資料庫的資料
1. XML文檔格式
智島網格控制項採用XML文檔作為交換格式,但更多的資料來源是資料庫,如何表現來自於資料庫的資料呢?我們可以將資料庫的資料動態轉為XML格式。以下代碼實現了將一ACCESS資料庫中指定資料表的內容轉為XML文檔格式。您可將代碼中db.mdb檔案換成您自己的資料庫名稱。指定的資料表名稱來自於傳遞到該檔案的參數值:Table_name。
<%
dim sql,rs
dim Table_name
<!--取得資料表名稱-->
Table_name=request.QueryString("Table_name")
Set rs= Server.CreateObject("ADODB.Recordset")
Const adSchemaTables = 20
adSchemaColumns = 4
strConn="DBQ="+server.mappath("db.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.open strConn
Set rstSchema = oConn.OpenSchema(adSchemaColumns)
Set rsttable = oConn.OpenSchema(adSchemaTables)
i=0
%><?xml version="1.0" encoding="gb2312"?>
<Table>
<TableInfo>
<TableName><%=Table_name%></TableName>
<FieldInfoArray>
<%
//產生XML檔案頭
Do Until rstSchema.EOF
if rstSchema("Table_name") = Table_name then
if rstschema("column_Name")<>"ORowInfo" or rstschema("column_Name")<>"osysMachineID" then
%> <FieldInfo>
<FieldName><%=rstschema("column_Name")%></FieldName> <ColName><%=rstschema("column_Name")%></ColName>
<%select case rstschema("data_type")
case "130"
if rstschema("CHARACTER_MAXIMUM_LENGTH") = 1073741823 then%> <DataType>12</DataType>
<CellType>0</CellType>
<%else%> <DataType>10</DataType>
<CellType>0</CellType>
<%end if
case 135%> <DataType>23</DataType>
<CellType>3</CellType>
<%case 3%> <DataType>7</DataType>
<CellType>0</CellType>
<%case 11%> <DataType>3</DataType>
<CellType>2</CellType>
<%case 131%> <DataType>10</DataType>
<CellType>0</CellType>
<%case 5%> <DataType&