[asp.net]有關xmlhttp多筆處理與table 8/30

狀況:頁面A中有多行多列的表:DataGrid1,一個id為c0828的div
需求:當在DataGrid1中輸入某一項通過xmlhttp無頁面刷新自動找相關的多筆資料分行顯示在DataGrid1中
做法:

var e = event.srcElement;
var row = e.parentNode.parentNode;
var row1 = e.parentNode;
var txts = row.all.tags("INPUT");
var sels = row.all.tags("SELECT");

var xh;
if (window.ActiveXObject) {
xh = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xh = new XMLHttpRequest();
}
xh.open("POST","case1.aspx?kind=1&sdate=" + txts[0].value + "&cnno=" + txts[1].value,false);
xh.send();
var ss=xh.responseText;
//alert(typeof(ss));

document.getElementById("c0828").innerHTML=ss;//接收
var table=document.getElementById("DGcase");//取得接收的TABLE
var TB=document.getElementById("DataGrid1"); //當前的DataGrid1
var trows=TB.rows.length;
//alert(table.tagName);
var rows =table.rows.length;
var i,j,k;
var sel=sels[3];//料號
var obj,ob1,ob2,ob3,ob4,ob5;
var inb=row1. previousSibling.previousSibling.outerText;//求序號值


for(i=0;i<rows ;i++){
if(i==0){ //當前行
txts[2].value=table.rows[i].cells[6].innerText;
txts[3].value=table.rows[i].cells[1].innerText;
txts[4].value=table.rows[i].cells[2].innerText;
txts[5].value=table.rows[i].cells[3].innerText;
txts[7].value=table.rows[i].cells[5].innerText;

for(var j=0;j<sel.options.length;j++)
{if(sel.options[j].value==table.rows[i].cells[0].innerText)
{sel.selectedIndex=j;break;}}
}
else{ //下一行
k=parseInt(inb)+i;
if (k>15) break; //若超過16行則中斷
obj=TB.rows[k].cells[4].firstChild;   //第4格為textbox
obj.value=table.rows[i].cells[6].innerText;
ob1=TB.rows[k].cells[9].firstChild;   //第9格為textbox
ob1.value=table.rows[i].cells[1].innerText;
ob2=TB.rows[k].cells[10].firstChild;  //第10格為textbox
ob2.value=table.rows[i].cells[2].innerText;
ob3=TB.rows[k].cells[11].firstChild;  //第11格為textbox
ob3.value=table.rows[i].cells[3].innerText;
ob4=TB.rows[k].cells[13].firstChild; //第13格為textbox
ob4.value=table.rows[i].cells[5].innerText;

ob5=TB.rows[k].cells[8].firstChild; //第8格為dropdownlist
for(var j=0;j<ob5.options.length;j++)
{if(ob5.options[j].value==table.rows[i].cells[0].innerText)
{ob5.selectedIndex=j;break;}}

}
}
}

<!--不顯示c0828-->
<DIV id="c0828" style="VISIBILITY:hidden;overflow:hidden;LEFT: 320px; POSITION: absolute; TOP: 124px;"></DIV>

<!--#DGcase不套用td格式-->
<style>
TD { BORDER-RIGHT: #dbc4c4 1px double; BORDER-TOP: #dbc4c4 1px double; BORDER-LEFT: #dbc4c4 1px double; BORDER-BOTTOM: #dbc4c4 1px double }
#DGcase TD {border:none; }
</style>


P.S.在此感謝一位網友的熱心幫助^__^

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值