版权声明:学习之路有很多引荐的地方,希望能帮到大家就可以! https://blog.csdn.net/mingzaiwang/article/details/82994602
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="SelectProviderType.aspx.vb" Inherits="CgZtb.SelectProviderType" %>
<%@ Register TagPrefix="myLoader" Namespace="CustomControl.Control" Assembly="CustomControl" %>
<%@ Register TagPrefix="mwc" Namespace="MySoft.WebControls" Assembly="MySoft.WebControls" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head runat="server">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
<title>选择供应商类别</title>
<myLoader:Loader runat="server">
<LinkResources>
<myLoader:Link Href="/_common/styles/dialogs.css" Rel="stylesheet" Type="text/css" />
<myLoader:Link Href="/_nav/taskbox.css" Rel="stylesheet" Type="text/css" />
<myLoader:Link Href="/_controls/tree/tree.css" Rel="stylesheet" Type="text/css" />
<myLoader:Link Href="/_nav/tabs.css" Rel="stylesheet" Type="text/css" />
</LinkResources>
<ScriptResources>
<myLoader:Script Type="text/javascript" Src="/_forms/FormBase.js" />
</ScriptResources>
</myLoader:Loader>
<style>
.autocut
{
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
</style>
<script type="text/javascript">
// 确定返回
// 返回类别名称和代码
function okClick() {
if (getSelectedValue()) {
parent.window.close();
}
}
window.onload = function() {
//根据默认值选中供应商类
var oProviderTypeCodeList = document.getElementById("__ProviderTypeCodeList");
if (oProviderTypeCodeList) {
var arrProviderTypeCodeList = oProviderTypeCodeList.value.split(";");
var allRows = Table1.rows;
var irowCount = Table1.rows.length;
//获取对应的所有行里面记录值组成一个数组或者对象
var arr = []
for (var k = 1; k < irowCount; k++) {
{
arr.push(allRows[k].value);
}
var oChk;
for (var i = 1; i < irowCount; i++)
{
//获取所有的行里面的所有值如果它在对应的所有行记录里面遍历一次如果是唯一的那么它就是唯一的就保留权限枚举法
var checkOP=0;
for(var m = 0; m < arr.length; m++)
{
var ckOF=arr[m].indexOf(allRows[i].value);
if(ckOF>-1)
{
checkOP++;
}
}
if(checkOP>1)
{
oChks = allRows[i].cells[0].children[2].children[0];
oChks.disabled = true;
}
else
{
//找到选中的节点行
for (var j = 0; j < arrProviderTypeCodeList.length; j++)
{
if (arrProviderTypeCodeList[j].toLowerCase() == allRows[i].ProviderTypeCode.toLowerCase())
{
oChk = allRows[i].cells[0].children[2].children[0];
oChk.checked = true;
selectNode(oChk);
arrProviderTypeCodeList.splice(j, 1);
break;
}
}
}
}
}
}
}
//需求《中庚费用系统二次开发方案-提交版》因为上面版本与这个版本差距很大特注释方法 待以后对比参照
//window.onload = function() {
// //根据默认值选中供应商类
// var oProviderTypeCodeList = document.getElementById("__ProviderTypeCodeList");
// if (oProviderTypeCodeList) {
// var arrProviderTypeCodeList = oProviderTypeCodeList.value.split(";");
// var allRows = Table1.rows;
// var irowCount = Table1.rows.length;
// var oChk;
// for (var i = 1; i < irowCount; i++) {
// //找到选中的节点行
// for (var j = 0; j < arrProviderTypeCodeList.length; j++) {
// if (arrProviderTypeCodeList[j].toLowerCase() == allRows[i].ProviderTypeCode.toLowerCase()) {
// oChk = allRows[i].cells[0].children[2].children[0];
// oChk.checked = true;
// selectNode(oChk);
// arrProviderTypeCodeList.splice(j, 1);
// break;
//
// }
// }
// }
// }
//}
// 获取复选框的值
function getSelectedValue() {
var iCount = 0;
var arrRtn = new Array(2);
arrRtn[0] = new Array();
arrRtn[1] = new Array();
var allRows = Table1.rows;
for (var i = 1; i < allRows.length; i++) // 不考虑“所有类别”行
{
if (allRows[i].cells[0].children[2].children[0].checked == true) {
//和新采招一致,每个节点可选
// //判断当前节点的是否还有子级选中,如果有则不添加(直接判断下一行是否选中)
// if (allRows[i + 1] && allRows[i + 1].cells[0].children[2].children[0].checked == true) {
// if ((allRows[i + 1].code + ".").indexOf((allRows[i].code + ".")) >= 0) {
// continue;
// }
// }
arrRtn[0][iCount] = allRows[i].value; // 类别名称
arrRtn[1][iCount] = allRows[i].ProviderTypeCode; // 类别代码
iCount++;
}
}
if (iCount == 0) {
alert("请选择具体的供应商类别!");
return false;
}
else {
parent.window.returnValue = arrRtn;
return true;
}
}
function selectNode(o) {
event.cancelBubble = true;
var irowCount, sCode;
var sSelectCode = o.parentElement.parentElement.parentElement.code + ".";
var iStartIndex = o.parentElement.parentElement.parentElement.rowIndex;
var allRows = Table1.rows;
// //勾中当前节点,同时勾中父级节点
// //勾去当前节点,同时勾去子级节点
// if (o.checked) {
// for (var i = iStartIndex; i > 0; i--) {
// sCode = allRows[i].code + ".";
// //选中所有上级
// if (sSelectCode.indexOf(sCode) >= 0) {
// allRows[i].cells[0].children[2].children[0].checked = true;
// }
// if (allRows[i].level == "2") {
// break;
// }
// }
// } else {
// irowCount = allRows.length;
// for (var i = iStartIndex + 1; i < irowCount; i++) {
// sCode = allRows[i].code + ".";
// //取消选中所有下级
// if (sCode.indexOf(sSelectCode) >= 0) {
// allRows[i].cells[0].children[2].children[0].checked = false;
// }
// if (allRows[i].level == "2") {
// break;
// }
// }
// }
}
// 全选、取消全选
function CheckAll() {
for (var i = 1; i < Table1.rows.length; i++) {
if (document.getElementsByName("IsChkAll")[1].checked) {
Table1.rows[i].cells[0].children[2].children[0].checked = true;
}
else
Table1.rows[i].cells[0].children[2].children[0].checked = false;
}
}
</script>
</head>
<body MS_POSITIONING="GridLayout">
<form id="mapForm" method="post" runat="server">
<table width="100%" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td class="main" colspan="2">
<table width="100%" cellspacing="0" cellpadding="0" height="100%">
<TBODY>
<tr height="26" >
<td>
<table style="TABLE-LAYOUT:fixed">
<tr height="26">
<td width="150"><b style="COLOR:#666666">供应商类别</b>
</td>
<td>
<asp:RadioButtonList id="IsChkAll" runat="server" RepeatDirection="Horizontal" BorderStyle="None" onclick="CheckAll();" style="display:none">
<asp:ListItem Value="1" >全部选择</asp:ListItem>
<asp:ListItem Value="0">全部取消</asp:ListItem>
</asp:RadioButtonList>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="wizBox1">
<DIV style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; OVERFLOW: auto; WIDTH: 100%; PADDING-TOP: 5px; HEIGHT: 100%">
<mwc:repeater id="repLD" runat="server" SortSignDESC='<img src="/_imgs/ico_arrow_d.gif">' SortSignASC='<img src="/_imgs/ico_arrow_u.gif">'
PKField="BldCode" LinkAlign="right" LinkCssClass="a1" FooterCssClass="footer" EnablePager="false">
<HeaderTemplate>
<TABLE id="Table1" cellspacing="0" cellpadding="0" width="100%" class="singleSelectTree"
ismultiselect="1">
</HeaderTemplate>
<ItemTemplate>
<tr height='20' code='<%# DataBinder.Eval(Container, "DataItem.code") %>'
value='<%# DataBinder.Eval(Container, "DataItem.ProviderTypeName") %>'
text='<%# DataBinder.Eval(Container, "DataItem.name") %>'
type='<%# DataBinder.Eval(Container, "DataItem.type") %>'
level='<%# DataBinder.Eval(Container, "DataItem.Level") %>'
ProviderTypeCode='<%# DataBinder.Eval(Container, "DataItem.ProviderTypeCode") %>'
allowselect='0'
is_hide="false" onclick="Table1.clickNode(this)"
onmouseover='this.bgColor="#F1F1F1"' onmouseout='this.bgColor="#ffffff"'>
<td class="autocut" title='<%# DataBinder.Eval(Container, "DataItem.name") %>'>
<span></span><label style="CURSOR: hand;"></label>
<asp:CheckBox id="chkSelect" runat="server" onclick="selectNode(this)" style="width:20px;" Text="" Checked='<%# iif(DataBinder.Eval(Container, "DataItem.checked")="1","true","false") %>' Visible='<%# iif(DataBinder.Eval(Container, "DataItem.ProviderTypeCode")="ALL","false","true") %>'>
</asp:CheckBox>
<%# DataBinder.Eval(Container, "DataItem.name") %>
<input id="txtIfEnd" style="display:none;" runat="server" value='<%# DataBinder.Eval(Container, "DataItem.IfEnd") %>' NAME="txtIfEnd">
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate> </mwc:repeater></DIV>
</td>
</tr>
</table>
</TD></TR>
<tr height="40">
<td class="buttons" style="TEXT-ALIGN:left">
<asp:Literal id="Literal1" runat="server"></asp:Literal>
</td>
<td class="buttons">
<button style="WIDTH:70px" onclick="okClick()" id="btnOk" type="button">确 定</button>
<button style="WIDTH:70px" onclick="parent.window.close();" type="button">取 消</button>
</td>
</tr>
</TBODY></TABLE>
</form>
</body>
</html>