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

How to get row index from OnSelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs

2 Answers 366 Views
ComboBox
This is a migrated thread and some comments may be shown as answers.
Alec
Top achievements
Rank 1
Alec asked on 28 May 2009, 02:19 AM
I have a radGrid, which contains a list of rows, each row contains a panel and and a radcombox. When user selects a new value in radcombox, i want to update the panel in that row. I am having problem in getting the row index. Apparently, here's my method:

 

protected void rcbContent_OnSelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)

 

{
          int intIndex = //how do i get the current row index?

 

          Panel pnlPreview = rptZones.Items[intIndex].FindControl("pnlPreview") as Panel;

 

 

 

 

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 28 May 2009, 06:15 AM
Hi Alec,

Try the following code for getting row index.

ASPX:
 
 . . . 
<telerik:GridTemplateColumn UniqueName="RadCombobBox1"
<ItemTemplate> 
    <telerik:RadComboBox ID="RadComboBox1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged"
    <Items> 
        <telerik:RadComboBoxItem Text="Item1" /> 
        <telerik:RadComboBoxItem Text="Item2" />     
    </Items> 
    </telerik:RadComboBox> 
</ItemTemplate> 
</telerik:GridTemplateColumn> 
<telerik:GridTemplateColumn UniqueName="Panel1"
<ItemTemplate> 
    <asp:Panel ID="Panel1" runat="server"
    </asp:Panel> 
</ItemTemplate> 
</telerik:GridTemplateColumn> 
 . . . 

CS:
 
protected void RadComboBox1_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e) 
    RadComboBox combo = (RadComboBox)o; 
    GridDataItem item = (GridDataItem)combo.NamingContainer; 
    int index = item.ItemIndex;  // Index of row 
 
    Panel pnl = (Panel)item.FindControl("Panel1");  // Corresponding Panel control 
    Panel pnlPreview = RadGrid1.Items[item.ItemIndex].FindControl("Panel1"as Panel; // Other way to get corresponding Panel control 

-Shinu.
0
Alec
Top achievements
Rank 1
answered on 28 May 2009, 07:35 AM
Thanks...um..it does get the index and update the preview image right for that particular row, but it also clears other rows preview image....Unless i re-bind the datagrid at the beginning of the method...but thats not right....

 
 
protected void rcbContent_OnSelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)     
        {     
            RadComboBox combo = (RadComboBox)sender;     
            GridDataItem item = (GridDataItem)combo.NamingContainer;     
            int index = item.ItemIndex;  // Index of row       
    
            Panel pnlPreview = rptZones.Items[index].FindControl("pnlPreview") as Panel;     
            Image imgPreview = new Image();     
    
            int intSelectedContentId = Convert.ToInt16(e.Value);     
            if (intSelectedContentId > 0)     
            {     
                imgPreview.ImageUrl = "//something...new";   
                pnlPreview.Controls.Clear();     
                pnlPreview.Controls.Add(imgPreview);     
            }     
    
                 
                 
        }     
    
 
Tags
ComboBox
Asked by
Alec
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Alec
Top achievements
Rank 1
Share this question
or