Hi ,
I am working on RadGrid and I need to get a alert on GridHyperLinkColumn click in the radgrid just as I get by using GridEditCommandColumn while editing the record if the user is not authorised to edit the data.Otherwise how can I give the Command Name for the GridHyperLinkColumn so that i can handle it in the codebehind.
Thanks,
h@r!.
I am working on RadGrid and I need to get a alert on GridHyperLinkColumn click in the radgrid just as I get by using GridEditCommandColumn while editing the record if the user is not authorised to edit the data.Otherwise how can I give the Command Name for the GridHyperLinkColumn so that i can handle it in the codebehind.
Thanks,
h@r!.
3 Answers, 1 is accepted
0
Princy
Top achievements
Rank 2
answered on 27 Sep 2010, 10:46 AM
Hello Hari,
You can achieve this by finding the HyperLink in the GridHyperLink column and set its "onclick" attribute.
ASPX:
C#:
Java Script:
Thanks,
Princy.
You can achieve this by finding the HyperLink in the GridHyperLink column and set its "onclick" attribute.
ASPX:
<telerik:GridHyperLinkColumn DataTextField="CompanyName" DataNavigateUrlFields="CompanyName" UniqueName="GridHyperLinkColumn"></telerik:GridHyperLinkColumn>C#:
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { HyperLink link = (HyperLink)item["GridHyperLinkColumn"].Controls[0]; link.Attributes.Add("onclick", "Validate(); return false;"); } }Java Script:
<script type="text/javascript"> function Validate() { alert("Not an authorized user"); }</script>Thanks,
Princy.
0
h@r!
Top achievements
Rank 1
answered on 27 Sep 2010, 11:28 AM
Hi Princy,
Thanks for the Reply :)
But it is not working in my scenario.Let me explain my case clearly.
I am having Grid with values binded using GridBoundColumn.And I need to check the values in the GridBoundColumn and if they are null I need to alert when the user clicks Edit link.
like
and I need to check if Company="" and if the user clicks the Edit which is a GridHyperLinkColumn I need to give an alert as 'User unauthorised' and if Company!="" then he can proceed to edit the row.
Hope it explains the case clearly.
Thanks,
h@r!.
Thanks for the Reply :)
But it is not working in my scenario.Let me explain my case clearly.
I am having Grid with values binded using GridBoundColumn.And I need to check the values in the GridBoundColumn and if they are null I need to alert when the user clicks Edit link.
like
<telerik:GridHyperLinkColumn DataTextFormatString="Edit" DataNavigateUrlFields="SRowId" Text="Edit" UniqueName="SRowId" DataNavigateUrlFormatString="Test.aspx?Row={0}" ></telerik:GridHyperLinkColumn> <telerik:GridBoundColumn DataField="Company" HeaderText="Company" />and I need to check if Company="" and if the user clicks the Edit which is a GridHyperLinkColumn I need to give an alert as 'User unauthorised' and if Company!="" then he can proceed to edit the row.
Hope it explains the case clearly.
Thanks,
h@r!.
0
Princy
Top achievements
Rank 2
answered on 28 Sep 2010, 11:04 AM
Hello Hari,
You can do that validation with the cell value of GridBoundColumn from client side by using its ColumnUniqueName. Check out the following code snippet.
ASPX:
C#:
Java Script:
Thanks,
Princy.
You can do that validation with the cell value of GridBoundColumn from client side by using its ColumnUniqueName. Check out the following code snippet.
ASPX:
<telerik:GridHyperLinkColumn DataTextFormatString="Edit" DataNavigateUrlFields="SRowId" Text="Edit" UniqueName="SRowId" DataNavigateUrlFormatString="Test.aspx?Row={0}" ></telerik:GridHyperLinkColumn> <telerik:GridBoundColumn DataField="Company" HeaderText="Company" UniqueName="Company" />C#:
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; HyperLink link = (HyperLink)item["SRowId"].Controls[0]; link.Attributes.Add("onclick", "return Validate('" + item.ItemIndex + "');"); } }Java Script:
<script type="text/javascript"> function Validate(index) { var grid = $find("<%=RadGrid1.ClientID %>"); var MasterTable = grid.get_masterTableView(); var row = MasterTable.get_dataItems()[index]; var cell = MasterTable.getCellByColumnUniqueName(row, "Company").innerHTML; // access the cell value of column Company using its column UniqueName if (cell == " ") { alert("Not an authorized user"); return false; } else return true; } </script>Thanks,
Princy.