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

How to enable a control after a row is selected in Radgrid

5 Answers 338 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Elton
Top achievements
Rank 1
Elton asked on 31 May 2013, 04:42 PM
Im using a Radgrid. I have a Textbox that is disabled, but I would like to enable it when any row is selected in the Radgrid.

5 Answers, 1 is accepted

Sort by
0
J
Top achievements
Rank 1
answered on 31 May 2013, 06:46 PM
Add the following after your grid's opening tag and before the MasterTableView opening tag:

<ClientSettings
    <ClientEvents OnRowSelected="RowSelected"  />
</ClientSettings>


Then, add javascript to handle the event and enable your text box:

/// <summary>
/// Handles the client side RowSelected event of the grid.
/// </summary>
function RowSelected(sender, eventArgs) {
    //Put code here to update your UI now that a row is selected
}


0
Jayesh Goyani
Top achievements
Rank 2
answered on 01 Jun 2013, 04:44 AM
Hello,

Please try with below code snippet.

function RowSelected(sender, args) {
                EnableDisableTextBox();
            }
 
            function RowDeselected(sender, args) {
                EnableDisableTextBox();
            }
 
            function EnableDisableTextBox() {
                var grid = $find("<%=RadGrid1.ClientID %>");
 
                if (grid) {
                    var MasterTable = grid.get_masterTableView();
                    var SlectedRowCount = grid.get_selectedItems().length;
 
                    if (SlectedRowCount != null && SlectedRowCount != undefined) {
                        if (parseInt(SlectedRowCount) > 0) {
                            // Set your TextBox in Enable mode
                        }
                        else {
                            // Set your TextBox in Disable mode
                        }
                    }
                    else {
                    // Set your TextBox in Disable mode
                    }
                }
            }
<ClientSettings >
              <Selecting AllowRowSelect="true"  />
              <ClientEvents OnRowSelected="RowSelected" OnRowDeselected="RowDeselected" />
          </ClientSettings>


Thanks.
Jayesh Goyani
0
Elton
Top achievements
Rank 1
answered on 04 Jun 2013, 08:38 PM
Cant actually seem to get it to work, I get no errors

     
 function EnableDisableTextBox() {<br>
            var grid = $find("<%=RadGrid1.ClientID %>");<br>
<br>
            if (grid) {<br>
                var MasterTable = grid.get_masterTableView();<br>
                var SlectedRowCount = grid.get_selectedItems().length;<br>
<br>
                if (SlectedRowCount != null && SlectedRowCount != undefined) {<br>
                    if (parseInt(SlectedRowCount) > 0) {<br>
                        document.getElementById('<%= Button1.ClientID %>').disabled = false;<br>
                    }<br>
                    else {<br>
                        document.getElementById('<%= Button1.ClientID %>').disabled = true;<br>
                    }<br>
                }<br>
                else {<br>
                    document.getElementById('<%= Button1.ClientID %>').disabled = true;<br>
                }<br>
            }<br>
        }
0
J
Top achievements
Rank 1
answered on 04 Jun 2013, 08:46 PM
Have you verified that the function is being called and the RowSelected event being fired?  And can you post your grid's markup and the javascript for the RowSelected event handler?
0
Elton
Top achievements
Rank 1
answered on 04 Jun 2013, 08:47 PM
Got it workings thanks, tinkered around with the page load.
Tags
Grid
Asked by
Elton
Top achievements
Rank 1
Answers by
J
Top achievements
Rank 1
Jayesh Goyani
Top achievements
Rank 2
Elton
Top achievements
Rank 1
Share this question
or