This is a migrated thread and some comments may be shown as answers.

[Solved] GridHyperLinkColumn link target to radwindow

4 Answers 383 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Benjo
Top achievements
Rank 1
Benjo asked on 11 Feb 2010, 09:47 PM
i have this column on my rad grid:

            GridHyperLinkColumn GHyperLinkColumn = new GridHyperLinkColumn();  
            GvDetails.MasterTableView.Columns.Add(GHyperLinkColumn);  
            GHyperLinkColumn.DataTextField = "resource_nm";  
            GHyperLinkColumn.DataNavigateUrlFormatString = "ViewResourceRoleSkillInfo.aspx?rid={0}";  
            string[] arr = new string[1];  
            arr[0] = "resource_id";  
            GHyperLinkColumn.DataNavigateUrlFields = arr;  
            GHyperLinkColumn.UniqueName = "resource_nm";  
            GHyperLinkColumn.HeaderText = "Resource Name"

i need the target of that column to be on radwindow of my page,  any help on this?

thanks in advance...

4 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 12 Feb 2010, 05:22 AM
Hi,

Please check out the demo link below where you will find an explanation on how to open a radwindow on click of a hyperlink.


Thanks,
Princy
0
Benjo
Top achievements
Rank 1
answered on 12 Feb 2010, 06:39 AM
yes, the link you gave is good, but the grid based on my code above is generated on runtime or programmatically.  can you let me know how to do it programmatically? i been transforming it but i fails.. sorry..
0
Benjo
Top achievements
Rank 1
answered on 15 Feb 2010, 02:28 PM
any update on my inquiries .. gurus anyone?

thanks in advance..
0
Princy
Top achievements
Rank 2
answered on 17 Feb 2010, 05:32 AM
Hi,

Please take a look at the code snippets below and let me know how it goes :

C#
protected void Page_Load(object sender, System.EventArgs e) 
        { 
            if (!IsPostBack) 
            { 
                RadGrid1.DataSourceID = "AccessDataSource1"
                RadGrid1.MasterTableView.DataKeyNames = new string[] { "CustomerID" }; 
 
                RadGrid1.Width = Unit.Percentage(98); 
                RadGrid1.PageSize = 5; 
                RadGrid1.AllowPaging = true
                RadGrid1.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric; 
                RadGrid1.AutoGenerateColumns = false
                RadGrid1.Skin = "Web20"
                //Add Customers table 
                RadGrid1.MasterTableView.PageSize = 15; 
                RadGrid1.MasterTableView.Width = Unit.Percentage(100); 
                
                GridHyperLinkColumn GHyperLinkColumn = new GridHyperLinkColumn(); 
                RadGrid1.MasterTableView.Columns.Add(GHyperLinkColumn); 
                GHyperLinkColumn.DataTextField = "CustomerID"
                GHyperLinkColumn.DataNavigateUrlFormatString = "WebForm2.aspx?Key={0}"
                string[] arr = new string[1]; 
                arr[0] = "CustomerID"
                GHyperLinkColumn.DataNavigateUrlFields = arr; 
                GHyperLinkColumn.UniqueName = "LinkColumn"
                GHyperLinkColumn.HeaderText = "CustomerID Link" 
             } 
       } 


C#
 protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) 
        { 
            
            if (e.Item is GridDataItem) 
            { 
                GridDataItem item=(GridDataItem)e.Item; 
                HyperLink editLink = (HyperLink)item["LinkColumn"].Controls[0]; 
                editLink.Attributes["href"] = "#"
                editLink.Attributes["onclick"] = String.Format("return OpenWindow('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["CustomerID"], e.Item.ItemIndex); 
            } 
 
        } 

JS:
<script type="text/javascript"
        function OpenWindow(id, rowIndex) { 
            var grid = $find("<%= RadGrid1.ClientID %>"); 
 
            var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex].get_element(); 
            grid.get_masterTableView().selectItem(rowControl, true); 
 
            window.radopen("WebForm2.aspx?Key=" + id, "UserListDialog"); 
            return false
        } 
           
    </script> 
 


Note:If you are creating the entire grid from code please  make sure that the grid columns are added to the Controls collection of the MasterTableView after the attributes are set.

Thanks,
Princy

 
Tags
Grid
Asked by
Benjo
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Benjo
Top achievements
Rank 1
Share this question
or