继续弹出页面的问题!怎么才能实现点击datagrid中的一项,弹出没有地址栏,工具栏的页面??

解决方案 »

  1.   

    foreach(DataGridItem CurRow in dtgName.Items)
    {
         CurRow.Attributes.Add("onclick","window.open('你的页面','','width=宽,height=高')");
    }
      

  2.   

    Public Sub Datagrid_Control(ByVal Tb As DataTable, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs, ByVal Status As Integer, ByVal Dg As DataGrid)
            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()}}"
      

  3.   

    Obj.Attributes.Add("onkeydown", Js)
                                '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
      

  4.   

    这个sub是在DataGrid1_ItemDataBound事件中调用
    传入参数说明:
    Tb  为绑定datagrid的表
    e   为ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs
    Status 为当前窗体的状态;我这里设定 1 为新增,2为修改,0为正常模式
    当为0时所有的textbox不可编辑;
    为1或2时控制某些需要编辑的textbox可编辑
    dg 此参数可以不要;如果要用则传入sender
      

  5.   

    Response.Write("<script Language=JavaScript>"); 
    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>");
      

  6.   

    来晚了,赞同yichuan1982(往者不可谏,来者犹可追——四川新津)