Hi
When using GridClientSelectColumn is it possible to prevent some rows being selected on a condition?
I tried using the grid client event "OnRowSelecting" with the following function:
function grdSearchResult_RowSelecting(sender, e)
{
// Check if this row should be selected
if(e.get_gridDataItem().get_element().cells[SELECT_COL].firstChild.disabled == true)
e.set_cancel(true);
}
In this particular case I'm checking if the row has the selected checkbox disabled or not.
This doesn't work first time (e.get_gridDataItem() is NULL), however 2nd time onwards it works fine.
Am I taking the right approach?
Kind regards
Mark Eaton
When using GridClientSelectColumn is it possible to prevent some rows being selected on a condition?
I tried using the grid client event "OnRowSelecting" with the following function:
function grdSearchResult_RowSelecting(sender, e)
{
// Check if this row should be selected
if(e.get_gridDataItem().get_element().cells[SELECT_COL].firstChild.disabled == true)
e.set_cancel(true);
}
In this particular case I'm checking if the row has the selected checkbox disabled or not.
This doesn't work first time (e.get_gridDataItem() is NULL), however 2nd time onwards it works fine.
Am I taking the right approach?
Kind regards
Mark Eaton
6 Answers, 1 is accepted
0
Hi Mark,
the logic of the approach is correct - you can cancel out the selection conditionally. The error may be caused by some server side logic, for disabling the checkboxes. Can you provide some additional information, as to how the checkboxes are disabled, or if there is anything that would allow me to replicate this behavior locally.
Best wishes,
Yavor
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
the logic of the approach is correct - you can cancel out the selection conditionally. The error may be caused by some server side logic, for disabling the checkboxes. Can you provide some additional information, as to how the checkboxes are disabled, or if there is anything that would allow me to replicate this behavior locally.
Best wishes,
Yavor
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
0
Mark
Top achievements
Rank 1
answered on 03 Jun 2008, 12:10 AM
Hi Yavor
I am using the following server side code to disable the checkbox:
Kind regards
Mark Eaton
I am using the following server side code to disable the checkbox:
protected void grdSearchResult_ItemDataBound(object source, GridItemEventArgs e)
{
TableCell col = null;
Image img = null;
CheckBox chk = null;
if (e.Item is GridDataItem)
{
col = ((Telerik.Web.UI.GridDataItem)(e.Item))["clmSelect"];
if (col != null)
{
// The checkbox is always the 1st control for a Telerik select column
chk = (CheckBox)col.Controls[0];
if (chk != null)
chk.Enabled = false;
}
}
}
Kind regards
Mark Eaton
0
Hello Mark,
Attached to this message, is a sample application, which handles the required functionality.
I hope it helps.
Best wishes,
Yavor
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
Attached to this message, is a sample application, which handles the required functionality.
I hope it helps.
Best wishes,
Yavor
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
0
Mark
Top achievements
Rank 1
answered on 30 Jul 2008, 04:21 AM
Hi
With the Javascript event from the attached project:
function rowSelecting(sender, eventArgs)
{
if(sender.get_masterTableView().getCellByColumnUniqueName(sender.get_masterTableView().get_dataItems()[eventArgs.get_itemIndexHierarchical()],"clmSelect" ).childNodes[0].disabled == true)
eventArgs.set_cancel(true);
}
I find this works beautifully in I.E 7 however although the set_cancel(true) is reached in Safari 3 and Firefox 3 they seem to be ignoring it.
I am using Telerik AJAX 2008 Q2.
Is there anything I need to do to make it work for Safari 3 and Firefox 3?
Kind regards
Mark Eaton
With the Javascript event from the attached project:
function rowSelecting(sender, eventArgs)
{
if(sender.get_masterTableView().getCellByColumnUniqueName(sender.get_masterTableView().get_dataItems()[eventArgs.get_itemIndexHierarchical()],"clmSelect" ).childNodes[0].disabled == true)
eventArgs.set_cancel(true);
}
I find this works beautifully in I.E 7 however although the set_cancel(true) is reached in Safari 3 and Firefox 3 they seem to be ignoring it.
I am using Telerik AJAX 2008 Q2.
Is there anything I need to do to make it work for Safari 3 and Firefox 3?
Kind regards
Mark Eaton
0
Accepted
Hi Mark,
I have modified the sample to work with all browsers. You can find it attached to this post.
Best wishes,
Pavel
the Telerik team
Check out Telerik Trainer, the state of the art learning tool for Telerik products.
I have modified the sample to work with all browsers. You can find it attached to this post.
Best wishes,
Pavel
the Telerik team
Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Mark
Top achievements
Rank 1
answered on 04 Aug 2008, 11:55 PM
Thanks, works beautifully!
Kind regards
Mark Eaton
Kind regards
Mark Eaton