页面自动生成工具设计
1功能概述1.1使用术语
页面自动生成工具:自定义查询条件以及数据显示的一种页面生成工具1.2功能说明
页面自动生成工具是按照工程人员的需求定义查询条件以及数据显示方式的一种工具,数据显示可以用表格和图表的方式:查询统计以表格的方式显示数据,趋势页面以图表方式显示页面。1.2.1查询统计页面
查询统计页面的设置如下图:"设置数据集":整个查询统计显示数据的完整sql语句。
"查询条件设置":写完sql语句后点击"设置查询条件"按钮,将sql语句中的参数带入条件设置中。其中"显示顺序"确定了在生成的页面中该条件显示的顺序;"参数名称"对应sql中的参数;"参数显示名称"确定该参数在查询统计页面上的提示名称;"控件类型"可以确定该参数在页面上的控件(文本框,时间框,下拉框),控件类型会在1.2.4节中说明。
"显示设置":控制sql查询出的数据有哪些列需要显示。" 是否显示"控制该列是否显示;"列名称"对应数据列,"列显示名称"控制该列显示的列头。
"保存":点击"保存"按钮,会把页面的信息才存入数据库以便下次读取。
"预览":点击"预览"可以查看上面的页面设置是否正确。
最终生成的页面效果如下:
其中开始时间大于,开始时间小于选择的是时间控件,回路ID选择的是下拉框控件:SELECT numCircuitID,varCircuitName from WD_Circuit;
1.2.2趋势页面
趋势页面的设置如下图:"设置数据集":整个查询统计显示数据的完整sql语句。
"查询条件设置":写完sql语句后点击"设置查询条件"按钮,将sql语句中的参数带入条件设置中。其中"显示顺序"确定了在生成的页面中该条件显示的顺序;"参数名称"对应sql中的参数;"参数显示名称"确定该参数在查询统计页面上的提示名称;"控件类型"可以确定该参数在页面上的控件(文本框,时间框,下拉框),控件类型会在1.2.4节中说明。
"显示设置":控制sql查询出的数据有哪些列需要显示。" 是否显示"控制该列是否显示;"显示位置"确定该列作为x轴或者y轴(只能有一个x轴),"列名称"对应数据列,"列显示名称"是对该列的说明。
"保存":点击"保存"按钮,会把页面的信息才存入数据库以便下次读取。
"预览":点击"预览"可以查看上面的页面设置是否正确。
最终生成的页面效果如下:
其中开始时间,开始时间选择的是时间控件,表ID选择的是下拉框控件:select numTableID,varIP from WD_Table;列ID选择的是下拉框控件:SELECT numColID,varCName from WD_Column;
1.2.3增删查找页面
增删查找页面设计如下图:"主数据库":增删查找所操作的数据表
"设置查询条件":点击该按钮可以查询出所需要操作数据表的所有字段。
"修改设置":"显示顺序"控制查询条件和查询出的数据的显示顺序;"主键"是该表的主键:在更新(update)和删除(delete)时作为条件(where);"是否修改"控制在更新(update)和插入(insert)时是否修改该字段;"查询条件":表示该参数是否作为查询条件;"参数"是该字段对应表的字段;"查询参数名称"是该参数作为查询参数的字符串;"参数显示名称"是作为查询条件的参数的界面提示名称;"控件类型"可以确定该参数在页面上的控件(文本框,时间框,下拉框),控件类型会在1.2.4节中说明。
"保存":点击"保存"按钮,会把页面的信息才存入数据库以便下次读取。
"预览":点击"预览"可以查看上面的页面设置是否正确。
最终生成的页面效果如下:
1.2.4控件类型
控制选择条件时的控件类型:文本框,下拉框,时间控件。文本框:默认的控件类型
下拉框:输入sql语句来确定下拉框中的显示数据(SELECT numCircuitID,varCircuitName from WD_Circuit;):第一列是下拉框的value,第二列是下拉框的text.
时间控件:用于时间的选择
2模块设计
2.1页面自动生成工具模块划分
页面自动生成工具将设计保存到数据库,也可以将数据库中的设计读取出来修改,其他系统读取数据库中的设计自动生成页面。2.2数据相关设计
页面自动生成工具的设计最终以json格式存储数据2.2.1查询统计页面
json如下:{
"dataTable":"select numRefID,datStart d1,numCircuitID from WD_CircuitParents where datStart BETWEEN ':start:' and ':end:' and numCircuitID=':numCircuitID:'",
"pageType":"query",
"condition": [
{ "order": "1", "name": ":start:", "showName": "开始时间大于", "control": "DateTimePicker", "controlData": "" },
{ "order": "2", "name": ":end:", "showName": "开始时间小于", "control": "DateTimePicker", "controlData": ""},
{ "order": "3", "name": ":numCircuitID:", "showName": "回路ID", "control": "dropdownlist", "controlData": "select numCircuitID,varCircuitName from WD_Circuit" }
],
"show": [
{ "isShow": "1", "name": "numRefID", "showName": "ID" },
{ "isShow": "1", "name": "d1", "showName": "开始时间"},
{ "isShow": "1", "name": "numCircuitID", "showName": "回路ID"}
]}
dataTable:页面显示数据的sql
pageType:页面类型(admin:管理页面, trend:趋势页面,query:查询统计页面)
condition:查询条件:“order”是条件显示顺序,“name”是该条件对应sql语句中的字符串,“showName”是该条件的提示名称,“control”是条件适宜的控件,“controlData”是条件控件的值集合
show:表格数据显示:“isShow”该列是否显示,“name”该列对应列名,“showName”该列显示的列头
2.2.2趋势页面
json如下:{
"dataTable":"select datBuild,varValue,numColID,numTableID from WD_TableData WHERE datBuild BETWEEN ':start:' and ':end:' numTableID=:numTableID: and numColID=:numColID:;",
"pageType":"trend",
"condition": [
{ "order": "1", "name": ":start:", "showName": "开始时间", "control": "DateTimePicker", "controlData": "" },
{ "order": "2", "name": ":end:", "showName": "结束时间", "control": "DateTimePicker", "controlData": ""},
{ "order": "3", "name": ":numTableID:", "showName": "表ID", "control": "dropdownlist", "controlData": "select numTableID,varIP from WD_Table" },
{ "order": "4", "name": ":numColID:", "showName": "列ID", "control": "dropdownlist", "controlData": "select numColID,varCName from WD_Column" }
],
"show": [
{ "isShow": "x", "name": "datBuild", "showName": "时间" },
{ "isShow": "y", "name": "varValue", "showName": "值"},
{ "isShow": "", "name": "numColID", "showName": "列ID"},
{ "isShow": "", "name": "numColID", "showName": "表ID"}
]}
dataTable:页面显示数据的sql
pageType:页面类型(admin:管理页面, trend:趋势页面,query:查询统计页面)
condition:查询条件:“order”是条件显示顺序,“name”是该条件对应sql语句中的字符串,“showName”是该条件的提示名称,“control”是条件适宜的控件,“controlData”是条件控件的值集合
show:表格数据显示:“isShow”在x轴或者y轴显示数据,“name”该列对应列名,“showName”该列显示的列头
2.2.3增删查找页面
json如下:{
"dataTable":"select * from WD_User",
"pageType":"admin",
"condition": [
{"order": "1","key":"1","modify":"0","show":"0","name": "numUser", "showName": "用户ID", "control": "text", "controlData": ""},
{"order": "2","key":"0","modify":"1","show":"1","name": "varUserName", "showName": "用户名称", "control": "text", "controlData": ""},
{"order": "3","key":"0","modify":"1","show":"1","name": "varLoginName", "showName": "登录名", "control": "text", "controlData": ""},
{"order": "4","key":"0","modify":"0","show":"0","name": "varPassword", "showName": "密码", "control": "text", "controlData": ""},
{"order": "5","key":"0","modify":"1","show":"1","name": "datCreate", "showName": "创建时间", "control": "DateTimePicker", "controlData": ""},
{"order": "6","key":"0","modify":"1","show":"1","name": "numOrganizeID", "showName": "机构", "control": "dropdownlist", "controlData": "SELECT numOrganizeId,varOrganizeName from WD_Organize"},
{"order": "7","key":"0","modify":"1","show":"1","name": "numPositionId", "showName": "职位", "control": "dropdownlist", "controlData": "SELECT numPositionId,varPositionName from WD_Position"}
]}
dataTable:页面显示数据的sql
pageType:页面类型(admin:管理页面, trend:趋势页面,query:查询统计页面)
condition:查询条件:"order": 控制查询条件和查询出的数据的显示顺序,"key":是否作为主键,"modify":控制在更新(update)和插入(insert)时是否修改该字段,"show":是否作为查询条件,"name": 该参数作为查询参数的字符串, "showName":作为查询条件的参数的界面提示名称, "control": 可以确定该参数在页面上的控件(文本框,时间框,下拉框), "controlData": 默认数据
页面的增删查找sql如下:
INSERT into WD_User(varUserName,varLoginName,datCreate,numOrganizeID,numPositionID) VALUES(:varUserName:,:varLoginName:,:datCreate:,:numOrganizeID:,:numPositionID:)
UPDATE WD_User SET varUserName=:varUserName:,varLoginName=:varLoginName:,datCreate=:datCreate:,numOrganizeID:numOrganizeID:,numPositionID=:numPositionID: where numUserID=:numUserID:
DELETE from WD_User where numUserID=:numUserID:
3接口设计 4系统性能设计 5系统出错处理

공식 계정 웹 페이지 업데이트 캐시, 이것은 간단하고 간단하며 냄비를 마시기에 충분히 복잡합니다. 공식 계정 기사를 업데이트하기 위해 열심히 노력했지만 사용자는 여전히 기존 버전을 열었습니까? 이 기사에서는이 뒤에있는 비틀기와 회전을 살펴 보고이 문제를 우아하게 해결하는 방법을 살펴 보겠습니다. 읽은 후에는 다양한 캐싱 문제를 쉽게 처리 할 수있어 사용자가 항상 가장 신선한 콘텐츠를 경험할 수 있습니다. 기본 사항에 대해 먼저 이야기 해 봅시다. 액세스 속도를 향상시키기 위해 브라우저 또는 서버는 일부 정적 리소스 (예 : 그림, CSS, JS) 또는 페이지 컨텐츠를 저장합니다. 다음에 액세스 할 때 다시 다운로드하지 않고도 캐시에서 직접 검색 할 수 있으며 자연스럽게 빠릅니다. 그러나 이것은 또한 양날의 검입니다. 새 버전은 온라인입니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 CSS를 사용한 웹 페이지에 효율적인 PNG 테두리 추가를 보여줍니다. CSS는 JavaScript 또는 라이브러리에 비해 우수한 성능을 제공하며, 미묘하거나 눈에 띄는 효과를 위해 테두리 너비, 스타일 및 색상 조정 방법을 자세히 설명합니다.

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
