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

dropdownlist selectindexchanged in detailtables

4 Answers 136 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Alan Wang
Top achievements
Rank 1
Alan Wang asked on 18 Dec 2010, 04:08 AM
Dear Support,

I have a dropdownlist in RadGrid detailtables, when the dropdownlist selectindexchanged, I want to know how to retrieve the datakeyvalue from item in radgrid detailtables.

Please help!

Alan

4 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 20 Dec 2010, 05:35 AM
Hello Alan,

The following code snippet shows how to achieve this. In SelectedIndexChanged event of DropDownList access GridDateItem using NamingContainer property of DropDownList. And then using  'GetDataKeyValue()' method, access its keyvalue.

ASPX:
<DetailTables>
  <telerik:GridTableView DataKeyNames="TerritoryID">
      <Columns>
        <telerik:GridTemplateColumn>
            <ItemTemplate>
              <asp:DropDownList ID="DropDownList1" runat="server"
                 DataSourceID="SqlDataSource2" DataTextField="FirstName"
                 DataValueField="FirstName" AutoPostBack="True"
                 OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
              </asp:DropDownList>
             </ItemTemplate>
        </telerik:GridTemplateColumn>
           . . . . . . . . . . .
 </DetailTables>

C#:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
     {
         DropDownList drplist = (DropDownList)sender;
         GridDataItem item = (GridDataItem)drplist.NamingContainer;
         string keyvalue = item.GetDataKeyValue("TerritoryID").ToString();
     }

Thanks,
Princy.
0
Alan Wang
Top achievements
Rank 1
answered on 20 Dec 2010, 04:36 PM
Princy,

It works, thanks a lot.

I do have another question related to detailtables in RadGrid. I know how to double click the Mastertableview to get datakeyvalue using following code:

base.RaisePostBackEvent(source, eventArgument);
 
       if (source == this.radGridCases && eventArgument.IndexOf("RowClicked") != -1) {
           GridDataItem item = radGridCases.MasterTableView.Items[int.Parse(eventArgument.Split(':')[1])];
           item.Selected = true;
           EditCase(item.GetDataKeyValue("Id").ToString());
       }


Question is how I can do the same thing (double click) for the Detailtables in the RadGrid to get the datakeyvalue.

Again thanks a lot for your help
Alan



0
Princy
Top achievements
Rank 2
answered on 21 Dec 2010, 07:12 AM
Hello Alan,

Please take a look at the following sample code snippet which shows how to achieve this.

ASPX:
<telerik:RadGrid ID="RadGrid2">
    <MasterTableView Name="Master" DataKeyNames="EmployeeID" ClientDataKeyNames="EmployeeID">
        <DetailTables>
            <telerik:GridTableView Name="DetailTable" DataKeyNames="TerritoryID" ClientDataKeyNames="TerritoryID">
            </telerik:GridTableView>
        </DetailTables>
    </MasterTableView>
    <ClientSettings>
        <ClientEvents OnRowDblClick="RowDblClick" />
    </ClientSettings>
</telerik:RadGrid>

Java Script:
<script type="text/javascript">
    function RowDblClick(sender, eventArgs) {
      if (eventArgs._tableView.get_name() == "Master") {
            var dataKeyValue = eventArgs.getDataKeyValue("EmployeeID");
          }
      if (eventArgs._tableView.get_name() == "DetailTable") {
            var dataKeyValue = eventArgs.getDataKeyValue("TerritoryID");
        
            __doPostBack("<%= RadGrid1.ClientID %>", "RowDblClicked:" + dataKeyValue);
      }
</script>

C#:
protected override void RaisePostBackEvent(IPostBackEventHandler source, string eventArgument)
   {
          
       base.RaisePostBackEvent(source, eventArgument);
       if (source == this.RadGrid1 && eventArgument.IndexOf("RowDblClicked") != -1)
       {
               string keyValue = eventArgument.Split(':')[1];
       }
   }

Thanks,
Princy.
0
Alan Wang
Top achievements
Rank 1
answered on 21 Dec 2010, 03:08 PM
Princy,

It works. Thanks!

Alan
Tags
Grid
Asked by
Alan Wang
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Alan Wang
Top achievements
Rank 1
Share this question
or