佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1157|回复: 1

ASP.Net(VBscript) GridView DataNavigateUrlFormatString

[复制链接]
发表于 10-3-2007 10:05 AM | 显示全部楼层 |阅读模式
我正在写一个pop-up selector的功能,内容大概是:

parent page有个button,按下后会pop-up一个children page,
里面有GridView其[Column Name]及[Table Name]是从request.querystring得来的

parent page the javascript pop-up如下:

function btnSelect1_onclick(CtrlName, TableName, ColumnName){
    ChildWindow = window.open('popUp.aspx?FormName=' + document.forms[0].name
    + '&CtrlName=ctl00$ContentPlaceHolder1$' + CtrlName + '&Table=' + TableName + '&Column='+ ColumnName ," PopUpCalendar ",
    "width=600,height=300,top=200,left=200,toolbars=yes,location=yes,scrollbars=yes,status=yes,resizable=no" );   
}

在pop-up children page里面有javascript呼应parent page

function ReturnValue(strId)
        {

         window.opener.document.forms["<%= strFormName %>"].elements["<%= strCtrlName %>"].value = strId;
         window.close();

        }

比方说我现在Table Name是tblEmployee, Column Name是employeeID
我的问题在于GridView里如何让每一个employeeID 能有一个link,取出employeeID的数值pass去以上的javascript

这是我的pop up page的asp server script部分:
<script runat="server">
    Public strFormName As String
    Public strCtrlName As String
    Public strTableName As String
    Public strColumnName As String
    Public strSelectedDate As String
    Public strSelectCmd As String
    Public arrColumnName As String()
        
    Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
   
        If Not IsPostBack Then
            strFormName = Request.QueryString("FormName" )
            strCtrlName = Request.QueryString("CtrlName" )
            strTableName = Request.QueryString("Table" )
            strColumnName = Request.QueryString("Column" )
            strSelectCmd = "SELECT [" & strColumnName & "] FROM [" & strTableName & "]"
        End If
    End Sub
   
    Protected Sub SqlDsPopUp_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        strFormName = Request.QueryString("FormName" )
        strCtrlName = Request.QueryString("CtrlName" )
        SqlDsPopUp.SelectCommand = "SELECT [" & strColumnName & "] FROM [" & strTableName & "]"
    End Sub


    Protected Sub GridView1_Load(ByVal sender As Object, ByVal e As System.EventArgs)
               
        GridView1.AutoGenerateColumns = False
        Dim hypLF1 As HyperLinkField
        
        hypLF1 = New HyperLinkField
        hypLF1.DataTextField = strColumnName
        hypLF1.HeaderText = strColumnName
        hypLF1.SortExpression = strColumnName
        hypLF1.DataNavigateUrlFields = arrColumnName
        hypLF1.DataNavigateUrlFormatString = "../Employee/SFA0EmployeeEdit110207.aspx?ID={0}"
        GridView1.Columns.Add(hypLF1)
        
    End Sub
</script>

GridView已经能从querystring取得tableName和columnName和显示出来
但是DataNavigateUrlFields和DataNavigateUrlFormatString的应用似乎不对,link一直没办法获得
我查了msdn,但是还是无法确定DataNavigateUrlFields该放什么

请各位大大指点

[ 本帖最后由 therfar 于 11-3-2007 12:56 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 11-3-2007 01:11 PM | 显示全部楼层

问题已解决

再不断搜索之下,已经在Google Groups得到解决办法

以下是使用ASP.Net 2.0 的GridView完成的Pop Up Selector,遇到同样问题的朋友可以PM我,我会尽力帮忙

这位仁兄的blog帮了我一个大忙,因为ASP.net随着更新,旧的hyperlinkfield中使用javascript功能已经被关闭
http://aspsoft.blogs.com/jonas/2006/04/gridview_hyperl.html



点击...按钮



弹出视窗选择所要的物件



单击要选择的物件,弹出视窗自动关闭,所选资料自动输入有关textbox

以下是我修改后的codes(ASP.net VBscript)
    Protected Sub GridView1_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim bF1 As BoundField
        
        GridView1.AutoGenerateColumns = False
               
        bF1 = New BoundField
        bF1.DataField = strColumnName
        bF1.DataFormatString = "<a href=javascript:ReturnValue('{0}')>{0}</a>"
        bF1.SortExpression = strColumnName
        bF1.HeaderText = strColumnName

    End Sub

放上来希望能帮助到需要的人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 21-9-2024 12:06 PM , Processed in 0.120323 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表