继续弹出页面的问题!怎么才能实现点击datagrid中的一项,弹出没有地址栏,工具栏的页面??
解决方案 »
- new ActiveXObject("WScript.Shell")调用exe文件时,提示Automation服务器不能创建对象
- 文件夹的命名
- 急用AJAXPRO实现图片上传同时还要保存文件路径到数据库
- 求身份证的正则表达式
- <在线研讨> 如何实现自动提示[浏览者]下载并安装客户端软件??? 每解一题加25分...
- 显示多个二进制图片
- 一个javascript的问题
- 有关服务器端Table控件的问题:TableRow能不能加入JS代吗?
- AspNetPager 如何在datalist上分页?
- treeview单击一个结点时触发什么事件,如果要让它单击不展开或者不执行相关连接怎么办(主要用于权限)
- 在线等待:向数据表里添加一条记录后,如何返回该记录的主键?
- 老是提示sql语句错误,请高手帮忙看看
{
CurRow.Attributes.Add("onclick","window.open('你的页面','','width=宽,height=高')");
}
Dim Obj As Object
Dim I As Integer
Dim Js As String
If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.Footer Then
For I = 0 To Tb.Columns.Count - 1
Obj = e.Item.Cells(I).Controls(1)
Select Case Tb.Columns(I).ColumnName
Case "PART_NO"
If Status <> 0 Then '新增或修改模式
Obj.ReadOnly = False Js = "if(event.keyCode==13) "
Js += "{var desc=" + e.Item.Cells(I).Controls(1).ClientID + ".value;"
Js += "var nDialogWidth=700;var nDialogHeight=400;"
Js += "var nLeft=(window.screen.availWidth-nDialogWidth)/2;"
Js += "var nTop=(window.screen.availHeight-nDialogHeight)/2;"
Js += "var sFeatures='dialogLeft:'+nLeft+'px;dialogTop:'+nTop+'px;dialogHeight:'+nDialogHeight+'px;"
Js += "dialogWidth: '+nDialogWidth+'px;help:no;status:no';"
Js += "var bLogged=window.showModalDialog('Dialog_Item.aspx?type=0&desc='+escape(desc),window,sFeatures);"
Js += "if(bLogged != null) "
Js += "{" + e.Item.Cells(1).Controls(1).ClientID + ".value=bLogged[0];" 'UPC
Js += e.Item.Cells(I).Controls(1).ClientID + ".value=bLogged[2];" 'PART_NO
Js += e.Item.Cells(3).Controls(1).ClientID + ".value=bLogged[1];" 'BRAND
Js += e.Item.Cells(4).Controls(1).ClientID + ".value=bLogged[3];" 'DESCRIPTION
Js += e.Item.Cells(5).Controls(1).ClientID + ".value=bLogged[5];" '单位
Js += e.Item.Cells(6).Controls(1).ClientID + ".value=bLogged[8];" 'BATCH_NO
Js += e.Item.Cells(11).Controls(1).ClientID + ".value=bLogged[9];" 'COST
Js += e.Item.Cells(7).Controls(1).ClientID + ".focus();" + e.Item.Cells(7).Controls(1).ClientID + ".select()}}"
'Obj.Attributes.Add("onkeydown", "if(event.keyCode==13) {var desc=" + e.Item.Cells(I).Controls(1).ClientID + ".value;var nDialogWidth=700;var nDialogHeight=400;var nLeft=(window.screen.availWidth-nDialogWidth)/2;var nTop=(window.screen.availHeight-nDialogHeight)/2;var sFeatures='dialogLeft:'+nLeft+'px;dialogTop:'+nTop+'px;dialogHeight:'+nDialogHeight+'px;dialogWidth:'+nDialogWidth+'px;help:no;status:no';var bLogged=window.showModalDialog('Dialog_Item.aspx?type=escape(物料)&desc='+escape(desc),window,sFeatures);if(bLogged != null) {" + e.Item.Cells(1).Controls(1).ClientID + ".value=bLogged[0];" + e.Item.Cells(I).Controls(1).ClientID + ".value=bLogged[2];" + e.Item.Cells(I + 1).Controls(1).ClientID + ".value=bLogged[1];" + e.Item.Cells(I + 2).Controls(1).ClientID + ".value=bLogged[3];" + e.Item.Cells(I + 3).Controls(1).ClientID + ".value=bLogged[5];" + e.Item.Cells(11).Controls(1).ClientID + ".value=bLogged[10];" + e.Item.Cells(I + 4).Controls(1).ClientID + ".focus();" + e.Item.Cells(I + 4).Controls(1).ClientID + ".select()}}")
Else
Obj.ReadOnly = True
End If
Case "BATCH_NO" '批号
If Status <> 0 Then
Obj.ReadOnly = False
Js = "if(event.keyCode==13){if(" + e.Item.Cells(1).Controls(1).ClientID + ".value==''){alert('请选择型号!');return(false)}{var upc=" + e.Item.Cells(1).Controls(1).ClientID + ".value;var nDialogWidth=300;var nDialogHeight=200;var nLeft=(window.screen.availWidth-nDialogWidth)/2;var nTop=(window.screen.availHeight-nDialogHeight)/2;var sFeatures='dialogLeft:'+nLeft+'px;dialogTop:'+nTop+'px;dialogHeight:'+nDialogHeight+'px;dialogWidth:'+nDialogWidth+'px;help:no;status:no';var bLogged=window.showModalDialog('Dialog_BatchNo.aspx?upc='+upc,window,sFeatures);if (bLogged!=null){" + e.Item.Cells(I).Controls(1).ClientID + ".value=bLogged[0];" + e.Item.Cells(12).Controls(1).ClientID + ".value=bLogged[2];" + e.Item.Cells(8).Controls(1).ClientID + ".value=bLogged[1];" + e.Item.Cells(8).Controls(1).ClientID + ".select()}}"
Js = Js + "}"
Obj.Attributes.Add("onkeydown", Js)
Else
Obj.ReadOnly = True
End If
Case "QTY" '数量
If Status <> 0 Then
Obj.ReadOnly = False
Obj.Attributes.Add("onkeydown", "if(event.keyCode==13) {if(" + e.Item.Cells(I).Controls(1).ClientID + ".value =='') {alert('数量不能为空!')} else { if(" + e.Item.Cells(I).Controls(1).ClientID + ".value =='0') {alert('数量不能为0')} else {if (isNaN(" + e.Item.Cells(I).Controls(1).ClientID + ".value)){" + e.Item.Cells(I).Controls(1).ClientID + ".value='';alert('数量请填写数字');return(false)} {var price=" + e.Item.Cells(I + 1).Controls(1).ClientID + ".value;var qty=" + e.Item.Cells(I).Controls(1).ClientID + ".value ;if(qty<0){alert('数量不能小于0');return(false)}{if(price<0){alert('价格不能小于0!');return(false)}{" + e.Item.Cells(I + 2).Controls(1).ClientID + ".value=price*qty;event.keyCode=9}}}}}}")
Else
Obj.ReadOnly = True
End If Case "PRICE" '价格
If Status <> 0 Then
Obj.ReadOnly = False
If e.Item.ItemType = ListItemType.Footer Then
Obj.Attributes.Add("onkeydown", "if(event.keyCode==13) {if(" + e.Item.Cells(I).Controls(1).ClientID + ".value =='') {alert('价格不能为空!')} else { if(" + e.Item.Cells(I).Controls(1).ClientID + ".value =='0') {alert('价格不能为0')} else {if (isNaN(" + e.Item.Cells(I).Controls(1).ClientID + ".value)){" + e.Item.Cells(I).Controls(1).ClientID + ".value='';alert('价格请填写数字');return(false)}{ var price=" + e.Item.Cells(I).Controls(1).ClientID + ".value;var qty=" + e.Item.Cells(I - 1).Controls(1).ClientID + ".value ;" + e.Item.Cells(I + 1).Controls(1).ClientID + ".value=price*qty;" + e.Item.Cells(13).Controls(1).ClientID + ".focus()}}}}")
Else
If e.Item.ItemIndex < Tb.Rows.Count - 1 Then
Obj.Attributes.Add("onkeydown", "if(event.keyCode==13) {if(" + e.Item.Cells(I).Controls(1).ClientID + ".value =='') {alert('价格不能为空!');return(false)}{if(isNaN(" + e.Item.Cells(I).Controls(1).ClientID + ".value)){" + e.Item.Cells(I).Controls(1).ClientID + ".value='';alert('价格请输入数字');return(false)}{if(" + e.Item.Cells(I).Controls(1).ClientID + ".value==0) {alert('价格不能为0!');return(false)}{var price=" + e.Item.Cells(I + 1).Controls(1).ClientID + ".value;var qty=" + e.Item.Cells(I).Controls(1).ClientID + ".value ;" + e.Item.Cells(I + 2).Controls(1).ClientID + ".value=price*qty;document.getElementById('DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2 + 1)) + "_Txt_Part_No').focus();document.getElementById('DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2 + 1)) + "_Txt_Part_No').select()}}}}")
Else
Obj.Attributes.Add("onkeydown", "if(event.keyCode==13) {if(" + e.Item.Cells(I).Controls(1).ClientID + ".value =='') {alert('价格不能为空!');return(false)}{if(isNaN(" + e.Item.Cells(I).Controls(1).ClientID + ".value)){" + e.Item.Cells(I).Controls(1).ClientID + ".value='';alert('价格请输入数字');return(false)}{if(" + e.Item.Cells(I).Controls(1).ClientID + ".value==0) {alert('价格不能为0!');return(false)}{var price=" + e.Item.Cells(I + 1).Controls(1).ClientID + ".value;var qty=" + e.Item.Cells(I).Controls(1).ClientID + ".value ;" + e.Item.Cells(I + 2).Controls(1).ClientID + ".value=price*qty;document.getElementById('DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2 + 1)) + "_Txt_Part_no_F').focus();document.getElementById('DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2 + 1)) + "_Txt_Part_no_F').select()}}}}")
End If
End If
Else
Obj.ReadOnly = True
End If
Case Else
Obj.ReadOnly = True
End Select
Next
End If
End Sub
传入参数说明:
Tb 为绑定datagrid的表
e 为ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs
Status 为当前窗体的状态;我这里设定 1 为新增,2为修改,0为正常模式
当为0时所有的textbox不可编辑;
为1或2时控制某些需要编辑的textbox可编辑
dg 此参数可以不要;如果要用则传入sender
string url="pass.aspx";
Response.Write("ChildWindow = window.open('"+url+"', '111', 'width=340,height=190,top=220,left=220,toolbar=no,status=no,location=no,menubar=no,directories=no,scrollbars=no,resizable=no')");
Response.Write("</script>");