您的位置:首页技术开发ASP技巧 → 在ASP中使用智岛网格控件全过程

在ASP中使用智岛网格控件全过程

时间:2004/11/7 4:12:00来源:本站整理作者:蓝点我要评论(0)

    智岛网格控件作为数据的表示层,可以非常方便的进行货币样式、人民币大小写、中文大小写、各种逻辑样式、百分比样式、千分位分割等样式设置;可以冻结、锁定行列、对输入数据进行验证;可对字段设置公式,方便快捷地统计、汇总数据。智岛网格控件以其丰富多样的表现形式、简单易用的操作赢得了广大软件开发人员的一致好评。下面和大家分享一下智岛网格控件在ASP中的应用心得:



图1 样式设置



图2 图片管理



图3 多层标题



图4 汇总模式



图5 冻结锁定



图6 合并模式




一、注册智岛网格控件



下载智岛网格控件(其文件名为OGrid.ocx)后,按照如下方法注册控件

点击“开始”→“运行”;在运行对话框中输入以下命令:
regsvr32 < OGrid.ocx文件的绝对路径>  注册智岛网格控件控件
regsvr32 /u < OGrid.ocx文件的绝对路径> 解除智岛网格控件的注册


二、在页面中添加智岛网格控件



在页面中加入以下代码,即可插入智岛网格控件



其中:
width和height:指控件的显示宽度和高度;
id:指控件对象的名称,通过该名称实现对控件的操作;
CODEBASE:指没有安装智岛网格控件的客户端运行该页面时自动下载安装该控件的刂贰?lt;/P>


三、用智岛网格控件表现XML格式数据



1. XML文档格式

智岛网格控件采用XML文档作为数据存储交换格式,下面是一份XML文档格式:



  
      人事表
     
        
            姓名
            10
            0
        
 
         ...
    

  


  
    
       张三
      
       ...
    

     ...
  



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
%>



<%=Table_name%>

<%
//生成XML文件头
Do Until rstSchema.EOF
if rstSchema("Table_name") = Table_name then
if rstschema("column_Name")<>"ORowInfo" or rstschema("column_Name")<>"osysMachineID" then
%>
<%=rstschema("column_Name")%> <%=rstschema("column_Name")%>
<%select case rstschema("data_type")
case "130"
if rstschema("CHARACTER_MAXIMUM_LENGTH") = 1073741823 then%> 12
0
<%else%> 10
0
<%end if
case 135%> 23
3
<%case 3%> 7
0
<%case 11%> 3
2
<%case 131%> 10
0
<%case 5%> 7
0
<%case else%> 10
0
<%end select%>

<%end if
end if
rstSchema.MoveNextLoop
%>



//生成XML文件体
<%
sql="select * from "&Table_name
rs.open sql,strConn,1,1
Do while Not rs.eof
%>
<%
for k=0 to rs.fields.count-1
if rs(k).name<>"ORowInfo" or rs(k).name<>"osysMachineID" then
%> <<%=rs(k).name%>><%=rs(k)%>>
<%
end if
next
%>

<%
rs.movenext
loop
rs.close
%>



2. 代码实现

通过以下语句通知智岛网格控件打开XML文档:

OGrid.SetTableXML(OGrid.HttpGet("http://www.oapro.com/mdb2xml.asp","Table_name=<%=TABLE_NAME%>"))

其中方法HttpGet有二个参数,第一个参数为我们上面介绍的实现数据库转换XML格式的网页地址,一定要为网址格式,不能用相对或绝对路径(因为目前该方法尚不支持),第二个参数为传递到该文件的参数,这里我们传递的是数据表名称:Table_name。


五、保存对数据的修改



在网格控件中可以新增、删除记录以及修改记录内容,如何使这些修改保存到数据源中去?智岛网格控件提供了三个这方面的事件:

1. 新增记录:EventSQLInsertRecord(strTableName,strSQL)
2. 删除记录:EventSQLDeleteRecord(strTableName,strSQL)
3. 修改记录:EventSQLUpdateRecord(strTableName,strSQL)
其中:
strTableName为产生事件的数据表名称;
strSQL为执行事件的SQL语句。

这二个参数由智岛网格控件提供给我们,供我们调用。

我们可通过脚本实现对事件的触发,以下是一范例代码:



以上代码实现了网格控件的记录发生修改时,便调用updata.asp文件实现对数据库相关内容进行修改。updata.asp文件内容如下:

<%@language=vbscript codepage=936 %>
<%
dim sql
sql=request.QueryString("sql")
response.write sql
strConn="DBQ="+server.mappath("db.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.open strConn
oConn.Execute(sql)
response.write sql
%>


六、范例



上面文章完整地介绍了智岛网格控件在ASP中的使用全过程,也许一个编辑成型的范例更具有说服力。那么就请领略这份鲜活的感觉吧:http://www.oapro.com/ostarocx/sample/ogrid_f/default.asp


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 VB.NET 2005编写定时关 Jquery get/post下乱码解决方法 前台gbk gb如何使用数据绑定控件显示数据ASP脚本循环语句ASP怎么提速

人气排行 轻松解决"Server Application Error"和iis"一起学习DataGridView调整列宽用ASP随机生成文件名的函数Jquery get/post下乱码解决方法 前台gbk gbODBC Drivers错误80004005的解决办法返回UPDATE SQL语句所影响的行数的方法用Javascript隐藏超级链接的真实地址两个不同数据库表的分页显示解决方案