参数的对应问题
mytest.jsp:
<dw:textInputWithLabel dataType="String"name="csptbh" labelValue="平台编号">
<dw:lovWindow name="csptbhlov" action="createLovWindow()"></dw:lovWindow>
</dw:textInputWithLabel>
<dw:textInputWithLabel dataType="String" labelValue="平台名称" name="csptmc">
</dw:textInputWithLabel>
function queryTest() {
var ptbh = getObject("csptbh").getValue();
var ptmc = getObject("csptmc").getValue();
var url = new URL("csLov.do?method=queryByPtbh");
url.addPara("ptbh", ptbh);
url.addPara("ptmc", ptmc);
asynchSubmit("ptxx", url.getURLString());
}
lovforcs.jsp:
<%@ page contentType="text/html;charset=GBK" language="java"%>
<%@ taglib uri="darewayBS.tld"prefix="dw"%>
<!--
功能:平台首页中的lov窗口
进入方法:平台页中,点击lov按钮进入
-->
<dw:lovBody dataSource="vds"sql="vds" dataWindowName="lovForPtsy"backFillSign="true">
<dw:lovTable labelValue="平台信息" name="lovForPtsy"dataSource="vds" sql="vds" >
<dw:columnText name="csptbh"columnName="平台编号" dataType="String"></dw:columnText>
<dw:columnText name="csptmc" columnName="平台名称" dataType="String"></dw:columnText>
</dw:lovTable>
</dw:lovBody>
sql语句:
public DataObject view (DataObject para) throws Exception{
DataObjectvdo = newDataObject();
Sqlsql = newSql();
StringBuffersb = newStringBuffer();
DataStorevds = newDataStore();
sb.append(" select ptbh csptbh,ptmccsptmc ");//别名
sb.append("from dm.platform");
sb.append(" order byptbh ");
sql.setSql(sb.toString());
vds= sql.executeQuery();
vdo.put("vds", vds);
return vdo;
}
注意:这四个地方必须对应起来,即,编辑框的id,lov窗口的id,还有写sql时(需要使用别名)
再有,写url.addPara("ptbh", ptbh);
url.addPara("ptmc", ptmc);时,红色部分的不一定就是表中的关键字名字,也可能是别名,例如把ptbh改为ptbha,ptmc改为ptmca,
url.addPara("ptbha", ptbh);
url.addPara("ptmca", ptmc);
则在相应的sql中必须使用别名
</dw:queryTable>
<dw:QueryGrid labelValue="测试平台信息" name="ptxx"dataSource="vds"
orderResult="true" renderHeader="true" mode="multi"displaySign="true" picButtons="true">
<dw:columnText columnName="平台编号" dataType="String"name="ptbha" width="20"></dw:columnText>
<dw:columnText columnName="平台名称" dataType="String"name="ptmca" width="20"></dw:columnText>
<dw:columnText columnName="创建时间" dataType="Date"name="cjsj" mask="yyyy-MM-dd"width="8"></dw:columnText>
<dw:columnText name="yyfw"columnName="应用范围" dataType="String"
width="15"></dw:columnText>
</dw:QueryGrid>
public DataObject queryByPtbh(DataObject para) throws Exception{
String ptbh=para.getString("ptbha");//对应传入进来的参数 url.addPara("ptbha", ptbh);
String ptmc=para.getString("ptmca");
StringBuffer sb=new StringBuffer();
DataStore vds = new DataStore();
sb.append(" select ptbh ptbha,ptmc ptmca,cjsj,yyfw ");
sb.append(" from dm.platform ");
sb.append(" where ptbh= ? and ptmc = ? ");
sql.setSql(sb.toString());
sql.setString(1, ptbh);
sql.setString(2, ptmc);
vds =sql.executeQuery();
DataObject vdo=new DataObject();
vdo.put("vds", vds);
return vdo;
}
表中的数据的id,和传入的参数,以及sql语句(要使用别名)一定要对应