|
在ASP中使用智岛网格控件全过程(4) %> </FieldInfoArray> </TableInfo> <Rows> //生成XML文件体 <% sql="select * from "&Table_name rs.open sql,strConn,1,1 Do while Not rs.eof %> <Row> <% for k=0 to rs.fields.count-1 if rs(k).name<>"ORowInfo" or rs(k).name<>"osysMachineID" then %> <<%=rs(k).name%>><%=rs(k)%></<%=rs(k).name%>> <% end if next %> </Row> <% rs.movenext loop rs.close %> </Rows> </Table>
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语句。
这二个参数由智岛网格控件提供给我们,供我们调用。
我们可通过脚本实现对事件的触发,以下是一范例代码:
<SCRIPT FOR="OGrid" EVENT="EventSQLInsertRecord(strTableName,strSQL)" LANGUAGE="JavaScript" > OGrid.HttpGet("http://www.oapro.com/updata.asp","sql="+strSQL); </SCRIPT>
以上代码实现了网格控件的记录发生修改时,便调用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
|