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

[Solved] Check column for combobox text

2 Answers 132 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Tracey Kroll
Top achievements
Rank 1
Tracey Kroll asked on 24 Apr 2009, 07:46 PM
I have a RadGrid with a RadComboBox and linkbutton in a footer template of a GridTemplateColumn. When the linkbutton is clicked  I want to check if the value selected in the combobox exists in a particular column in the grid. Does anyone know how I can accomplish this with Javascript? Thanks in advance!

-Tracey

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 25 Apr 2009, 05:52 AM
Hi Tracery,

One suggestion is you can attach the OnClientSelectionIndexChanged event to RadComboBox and proced to searching the value in particular column instead of using extra Linkbutton. I tried following client side code for this. Please give a try wiith this and see whether its suitable for you.

[aspx]
 
<telerik:GridTemplateColumn HeaderText="Action" UniqueName="TemplateColumn" > 
   <ItemTemplate> 
     <%# Eval("CategoryName") %> 
   </ItemTemplate>    
   <FooterTemplate> 
    <telerik:RadComboBox  runat="server" ID="RadComboBox1" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged"
        <Items> 
            <telerik:RadComboBoxItem Text="Produce" /> 
            <telerik:RadComboBoxItem Text="Beverages" /> 
        </Items> 
    </telerik:RadComboBox>    
   </FooterTemplate>    
</telerik:GridTemplateColumn> 

[javascript]
 
<script type="text/javascript">  
function OnClientSelectedIndexChanged(sender, args) 
    var text = sender.get_text(); 
    var firstDataItem = $find("<%=RadGrid1.ClientID %>").get_masterTableView().get_dataItems()[0]; 
    var number = $find("RadGrid1").get_masterTableView().get_dataItems().length;     
    var MasterTable = $find("<%=RadGrid1.ClientID %>").get_masterTableView();     
    for(i=0; i<number; i++) 
    {      
        var row = MasterTable.get_dataItems()[i]; 
        var cell = MasterTable.getCellByColumnUniqueName(row, "CategoryName"); 
        if(cell.innerHTML == text) 
        { 
            alert('Exists, Row number : '+ (i+1)); 
        } 
    } 
</script> 

Thanks,
Shinu.
0
Tracey Kroll
Top achievements
Rank 1
answered on 27 Apr 2009, 04:45 PM
I actually needed the link button for other reasons but was able to make a slight modification to your code to get exactly what I needed. Thanks so much!!!

-Tracey
Tags
Grid
Asked by
Tracey Kroll
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Tracey Kroll
Top achievements
Rank 1
Share this question
or