⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 freelable_fieldslist.asp

📁 asp源码 图片ASP整站
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<% Option Explicit %>
<!--#include file="../../../Inc/Cls_DB.asp" -->
<!--#include file="../../../Inc/checkPopedom.asp" -->
<!--#include file="../../../Inc/Const.asp" -->
<!--#include file="../Inc/FieldConst.asp" -->
<% 
Dim  DBC,Conn,TempClassListStr,TempListStr
Set  DBC = New DataBaseClass
Set  Conn = DBC.OpenConnection()
Set  DBC = Nothing
'==============================================================================
'软件名称:风讯网站信息管理系统
'当前版本:Foosun Content Manager System(FoosunCMS V3.2SP1)
'最新更新:2006.50
'==============================================================================
'Copyright (C) 2002-2004 Foosun.Net  All rights reserved.
'商业注册联系:028-85098980-601,项目开发:028-85098980-606、609,客户支持:608
'产品咨询QQ:394226379,159410,125114015
'技术支持QQ:315485710,66252421 
'项目开发QQ:415637671,655071
'程序开发:四川风讯科技发展有限公司(Foosun Inc.)
'Email:service@Foosun.cn
'MSN:skoolls@hotmail.com
'论坛支持:风讯在线论坛(http://bbs.foosun.net)
'官方网站:www.Foosun.cn  演示站点:test.cooin.com 
'网站通系列(智能快速建站系列):www.ewebs.cn
'==============================================================================
'免费版本请在程序首页保留版权信息,并做上本站LOGO友情连接
'风讯公司保留此程序的法律追究权利
'============================================================================================================
%>
<!--#include file="../../../Inc/Session.asp" -->
<%
'权限判限
if Not JudgePopedomTF(Session("Name"),"P030802") and Not JudgePopedomTF(Session("Name"),"P030803") then
 	Call ReturnError1()
end if
%>
<html>
<head>
<link href="../../../CSS/FS_css.css" rel="stylesheet">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
.selectedTab {
	background-color: #0000FF;
}
-->
</style>
</head>
<body leftmargin="0" topmargin="0" onselectstart="return false;">
<%
Dim ITableName,TableName,TableCName,FieldObj,i,TableField,TempCNameArray,TempENameArray,TempTypeArray,RsObj,indexOfField
ITableName = Request("TableName")
'根据参数选择不同的数据表的相应信息
Select Case(Lcase(ITableName))
	Case "fs_news"
		TableName = "FS_News"
		TableCName = "新闻"
		TempCNameArray = NewsFieldName
		TempENameArray = NewsFieldEName
		TempTypeArray = NewsFieldType
		TableField = "News_Fields"
		Set RsObj = Conn.Execute("Select * from FS_News where 1=0")
	Case "fs_newsclass"
		TableName = "FS_NewsClass"
		TableCName = "栏目"
		TempCNameArray = NewsClassFieldName
		TempENameArray = NewsClassFieldEName
		TempTypeArray = NewsClassFieldType
		TableField = "NewsClass_Fields"
		Set RsObj = Conn.Execute("Select * from FS_NewsClass where 1=0")
	Case "fs_download"
		TableName = "FS_Download"
		TableCName = "下载"
		TempCNameArray = DownloadFieldName
		TempENameArray = DownloadFieldEName
		TempTypeArray = DownloadFieldType
		TableField = "Download_Fields"
		Set RsObj = Conn.Execute("Select * from FS_Download where 1=0")
	Case Else
		Response.End	
End Select
%>
<table width=98%>
  <%
	i = 0
	for Each FieldObj In RsObj.Fields
		indexOfField = GetIndexOfField(FieldObj.name,TempENameArray)
%>
	<tr>
	<td height=23 width="34%"><span ondblclick="SelectTab(<%=i%>)" onclick="ClickTab(<%=i%>)" value="<%=TableName&"."&FieldObj.name%>" alt="<%=TempTypeArray(indexOfField)%>" id="<%=TableField&i%>" class="TempletItem"><% = TempCNameArray(indexOfField)%></span></td>
	<td width="11%"><% = GetFieldType(TempTypeArray(indexOfField))%></td>
	<td width="18%"><div id ="Direction_<%=i%>" align=center></div></td>
	<td width="17%"><div id ="Operation_<%=i%>" align=right></div></td>
	<td width="20%"><div id ="Value_<%=i%>"></div></td>
	</tr>
<%
	i = i + 1
	Next
	Set RsObj = Nothing
%>
</table>
</body>
</html>
<script language="JavaScript">
var IsSqlDataBase = <%=IsSqlDataBase%>;
var SelectIndex = -1;
var TableName = "<%=TableName%>";
var	TableCName = "<%=TableCName%>";
var TableField = "<%=TableField%>";
var FieldsNum = <%=i%>;
var DirectionStrArray=new Array(FieldsNum);
var OperationStrArray=new Array(3*FieldsNum);
var ValueStrArray=new Array(3*FieldsNum);
var OpNumOfFieldArray= new Array(FieldsNum);
var i;
//初始化操作符和操作值数组
for(i=0;i<FieldsNum*3;i++)
{
	if(i<FieldsNum)
	{
		DirectionStrArray[i] = "";
		OpNumOfFieldArray[i] = 1;
	}
	OperationStrArray[i] = "";
	ValueStrArray[i] = "";
}
//初始化选中字段、表达式、排序数组等运行环境,更新显示状态,由父窗口在初始化时调用
function Initial(FieldArray,ExpArray,OrderArray)
{
	var OpArray = new Array("<>",">=","<=","=",">","<"," In");
	var i,j,FieldName,FieldAlt,ExpStr,OpStr,OperationStr,ValueStr,indexSearch;
	for(i=0;i<FieldsNum;i++)
	{
		FieldName = document.all(TableField+i).value;
		FieldAlt = document.all(TableField+i).alt;
		
		if(SearchStrInArray(FieldArray,FieldName,0) != -1)
			document.all(TableField+i).className = "TempletSelectItem";
		indexSearch = SearchStrInArray(OrderArray,FieldName,0);
		if(indexSearch != -1)
		{
			if(OrderArray[indexSearch].indexOf("Desc") != -1)
			{
				DirectionStrArray[i] = "Desc";
				document.all("Direction_"+i).innerHTML = "降序";
			}
			else
			{
				DirectionStrArray[i] = "Asc";
				document.all("Direction_"+i).innerHTML = "升序";
			}
		}
		indexSearch = SearchStrInArray(ExpArray,FieldName,0);
		while(indexSearch != -1)
		{
			ExpStr = ExpArray[indexSearch].replace(FieldName,"");
			for(j=0;j<OpArray.length;j++)
				if(ExpStr.indexOf(OpArray[j]) == 0)
				{
					OpStr = OpArray[j];
					ExpStr = ExpStr.replace(OpStr,"");
				}
			if(OpNumOfFieldArray[i] < 3)
			{
				if(OperationArray(i,OpNumOfFieldArray[i],"Get","") == "")
				{
					OperationArray(i,OpNumOfFieldArray[i],"Set",OpStr.replace(" ",""))
				}
				else
				{
					OpNumOfFieldArray[i]++;
					OperationArray(i,OpNumOfFieldArray[i],"Set",OpStr.replace(" ",""))
				}
				
				if(FieldAlt == "116" || FieldAlt == "16")
				{
					ValueArray(i,OpNumOfFieldArray[i],"Set",ExpStr.replace("(","").replace(")",""));
				}
				else
				{
					if(FieldAlt == "7")
					{
						ExpStr = ExpStr.replace(/\#/g,"").replace("(","").replace(")","");
						ValueArray(i,OpNumOfFieldArray[i],"Set",ExpStr);
					}
					else
					{
						if(OpStr == " In")
						{
							ExpStr = ExpStr.replace(/\'/g,"").replace("(","");
							ExpStr = ExpStr.substr(0,ExpStr.length-1);
							ValueArray(i,OpNumOfFieldArray[i],"Set",ExpStr);
						}
						else
							ValueArray(i,OpNumOfFieldArray[i],"Set",ExpStr.replace(/\'/g,""));
					}
				}
	
			}
			indexSearch = SearchStrInArray(ExpArray,FieldName,indexSearch+1);
		}
		OperationStr = "";
		ValueStr = "";
		for(j=1;j<=OpNumOfFieldArray[i];j++)
		{
			OpStr = OperationArray(i,j,"Get","");
			if(OpStr != "")
			{
				Tempstr = ValueArray(i,j,"Get","");
				if(Tempstr.length > 10)
					Tempstr = Tempstr.substring(0,7)+"...";
				if(OperationStr == "")
				{
					OperationStr = OpStr.replace("<","&lt;");
					ValueStr = Tempstr;
				}
				else
				{
					OperationStr = OperationStr+"<br>"+OpStr.replace("<","&lt;");
					ValueStr = ValueStr+"<br>"+Tempstr;
				}
			}
		}
		document.all("Operation_"+i).innerHTML = OperationStr;
		document.all("Value_"+i).innerHTML = ValueStr;
	}
}
//在各种数组对象中检索字符串,StartIndex为开始检索的序号
function SearchStrInArray(ArrayObj,Str,StartIndex)
{
	var ReturnVal=-1,i=0;
	if(StartIndex<0) StartIndex = 0;
	for(i=StartIndex;i<ArrayObj.length;i++)
		if(ArrayObj[i].indexOf(Str) != -1)
		{
			ReturnVal = i;
			break;
		}
	return ReturnVal;
} 
//由OperationStrArray数组为基础模拟一个二维数组,读取或保存操作符
function OperationArray(index,col,operation,value)
{
	switch(operation.toLowerCase())
	{
		case "get":
			return OperationStrArray[(col-1)*FieldsNum+index];
		case "set":
			OperationStrArray[(col-1)*FieldsNum+index] = value;
	}
}
//由ValueStrArray数组为基础模拟一个二维数组,读取或保存操作值
function ValueArray(index,col,operation,value)
{
	switch(operation.toLowerCase())
	{
		case "get":
			return ValueStrArray[(col-1)*FieldsNum+index];
		case "set":
			ValueStrArray[(col-1)*FieldsNum+index] = value;
	}
}
//选中或取消选中某个字段,调用父窗口的添加或删除函数并更新显示状态
function SelectTab(index)
{
	if(document.all(TableField+index).className != "TempletSelectItem")
	{
		document.all(TableField+index).className = "TempletSelectItem";
		parent.AddField(document.all(TableField+index).value,TableCName+"."+document.all(TableField+index).innerText);
	}
	else
	{
		document.all(TableField+index).className = "TempletItem";
		parent.RemoveField(document.all(TableField+index).value);
	}
}
//消除所有选中字段的选中状态,由父窗口调用
function CleanSelected()
{
	var i;
	for(i=0;i<FieldsNum;i++)
	{
		document.all(TableField+i).className = "TempletItem";
	}
}
//字段的排序发生变化,相应的在父窗口中设置排序项
function DirectionChange(index)
{
	DirectionStrArray[index] = document.all("Dir_"+index).value;
	if(document.all("Dir_"+index).value == "")
		parent.SetOrderToArray(document.all(TableField+index).value);
	else
		parent.SetOrderToArray(document.all(TableField+index).value+" "+document.all("Dir_"+index).value);
}
//操作符发生变化,相应的在父窗口中设置操作表达式
function OperationChange(OperationNum,index)
{
	var i,j,OperationListObj;
	OperationListObj = document.all("Op"+OperationNum+"_"+index);
	if(OperationListObj.value != "")
	{
		for(i=1;i<=3;i++)
		{
			if(OperationNum == i) continue;
			if(OperationListObj.value == OperationArray(index,i,"Get",""))
			{
				alert("同一字段中操作符不能重复");
				for(j=0;j<OperationListObj.options.length;j++)
					if(OperationListObj.options(j).value == OperationArray(index,OperationNum,"Get",""))
						OperationListObj.options(j).selected = true;
				return;
			}
		}
	}
	else
	{
		document.all("Val"+OperationNum+"_"+index).value = "";
	}
	OperationArray(index,OperationNum,"Set",OperationListObj.value);
	CheckValue(OperationNum,index);
	if(document.all("Val"+OperationNum+"_"+index).value != "")
		SetExpressionToArray();
}
//检查用户在操作值中输入的有效性
function CheckValue(OperationNum,index)
{
	var keyCode = event.keyCode;
	if(keyCode == 37 || keyCode == 39 || keyCode == 8) return;
	var AltStr = document.all(TableField+index).alt;
	var OpStr = document.all("Op"+OperationNum+"_"+index).value;
	var ValObj = document.all("Val"+OperationNum+"_"+index);
	if(keyCode==13) SetExpressionToArray();
	if(	AltStr == "116" || AltStr == "16")
	{
		if(OpStr != "In")
		{
			if(keyCode<48 || keyCode>57)
				ValObj.value = CleanStrExcept(ValObj.value,"0123456789");
		}
		else
		{
			if(keyCode<48 || keyCode>57 || keyCode!=188)
				ValObj.value = CleanStrExcept(ValObj.value,"0123456789,");
		}
	}
	else
	{
		if(AltStr == "7")
		{
			if(OpStr != "In")
			{
				if(keyCode<48 || keyCode>57 || keyCode!=189 || keyCode!=109 || keyCode!=191 || keyCode!=111)
					ValObj.value = CleanStrExcept(ValObj.value,"0123456789-/");
			}
			else
			{
				if(keyCode<48 || keyCode>57 || keyCode!=189 || keyCode!=109 || keyCode!=191 || keyCode!=111|| keyCode!=188)
					ValObj.value = CleanStrExcept(ValObj.value,"0123456789-/,");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -