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

Referencing controls in grid row insert

1 Answer 72 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Silvina
Top achievements
Rank 1
Silvina asked on 23 Nov 2011, 11:44 PM

I have a grid in which two columns are linked, ie Project Type Categories and Project Types. On itemcreated I am adding select index changed and when editing it is working fine, however when inserting a new row, the second row does not reflect the changes.

.aspx

 

<

 

telerik:RadGrid ID="rgBenchmarkedHours" Skin="WebBlue" AutoGeneBenchmarkedHourColumns="false" Width="650px" AllowPaging="true" PageSize="10" OnPreRender="rgBenchmarkedHours_PreRender" OnNeedDataSource="rgBenchmarkedHours_NeedDataSource" OnUpdateCommand="rgBenchmarkedHours_UpdateCommand"

 

 

OnInsertCommand="rgBenchmarkedHours_InsertCommand"  OnDeleteCommand="rgBenchmarkedHours_DeleteCommand"

 

 

OnItemCreated="rgBenchmarkedHours_ItemCreated" runat="server">

 

 

 

<PagerStyle AlwaysVisible="true" Mode="Slider"/>

 

 

 

<HeaderStyle HorizontalAlign="Center" />

 

 

 

<ItemStyle HorizontalAlign="Left" />

 

 

 

<AlternatingItemStyle HorizontalAlign="Left" />

 

 

 

<MasterTableView EditMode="InPlace" CommandItemDisplay="Top" CommandItemSettings-AddNewRecordImageUrl="~/images/add.png"

 

 

CommandItemSettings-AddNewRecordText="Add row" AutoGenerateColumns="false" DataKeyNames="BenchmarkedHoursID" >

 

 

 

<Columns>

 

 

 

<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn" ItemStyle-HorizontalAlign="Center"></telerik:GridEditCommandColumn>

 

 

 

<telerik:GridBoundColumn UniqueName="BenchmarkedHoursID" DataField="BenchmarkedHoursID" HeaderText="BenchmarkedHoursID" ReadOnly="true" Visible="false"></telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn UniqueName="AgencyID" DataField="AgencyID" HeaderText="AgencyID" Visible="false"></telerik:GridBoundColumn>

 

 

 

<telerik:GridDropDownColumn UniqueName="ProjectTypeCategoryID" DataSourceID="ProjectTypeCategoryNameSource" ItemStyle-Width="250px"

 

 

 

DataField="ProjectTypeCategoryID" ListTextField="ProjectTypeCategoryName" ListValueField="ProjectTypeCategoryID" HeaderText="Project Type Category" ReadOnly="false"></telerik:GridDropDownColumn>

 

 

 

<telerik:GridDropDownColumn UniqueName="ProjectTypeNameDesc" DataSourceID="ProjectTypeNameSource" ItemStyle-Width="250px"

 

 

 

DataField="ProjectTypeID" ListTextField="ProjectTypeName" CurrentFilterFunction="EqualTo" CurrentFilterValue="ProjectTypeCategoryID" ListValueField="ProjectTypeID" HeaderText="Project Type">

 

 

 

</telerik:GridDropDownColumn>

 

 

 

<telerik:GridBoundColumn UniqueName="Category" DataField="CategoryName" HeaderText="Category" ReadOnly="true"></telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn UniqueName="EASFunction" DataField="EASFunction" HeaderText="EASFunction" Visible="false"></telerik:GridBoundColumn>

 

 

 

<telerik:GridDropDownColumn UniqueName="EASFunctionDesc" DataSourceID="EASFunctionSource" ItemStyle-Width="250px"

 

 

 

DataField="EASFunction" ListTextField="EASFunctionDesc" ListValueField="EASFunction"

 

 

 

HeaderText="EAS Function"></telerik:GridDropDownColumn>

 

 

 

<telerik:GridNumericColumn UniqueName="BenchmarkedHour" DataField="Hours" HeaderText="Benchmarked Hour" NumericType="Number" ItemStyle-HorizontalAlign="Right"></telerik:GridNumericColumn>

 

 

 

<telerik:GridButtonColumn ConfirmText="Delete this Benchmarked Hour?" ConfirmDialogType="RadWindow"

 

 

 

ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"

 

 

 

UniqueName="DeleteColumn">

 

 

 

<ItemStyle HorizontalAlign="Center"/>

 

 

 

</telerik:GridButtonColumn>

 

 

 

</Columns>

 

 

 

</MasterTableView>

 

 

 

</telerik:RadGrid>

 

<

 

asp:SqlDataSource ID="ProjectTypeNameSource" runat="server"

 

 

ConnectionString="<%$ ConnectionStrings:EuroEstimatesConnectionString %>"

 

 

SelectCommand="SELECT PT.[ProjectTypeID], PT.[ProjectTypeName] FROM [ProjectTypes] PT UNION SELECT 0, '- Select Type' ORDER BY PT.[ProjectTypeName]">

 

 

</asp:SqlDataSource>

 

<

 

asp:SqlDataSource ID="ProjectTypeCategoryNameSource" runat="server"

 

 

ConnectionString="<%$ ConnectionStrings:EuroEstimatesConnectionString %>"

 

 

SelectCommand="SELECT [ProjectTypeCategoryID], [ProjectTypeCategoryName] FROM [ProjectTypeCategories] UNION SELECT 0, '- Select Category' ORDER BY [ProjectTypeCategoryName]">

 

 

</asp:SqlDataSource>


.cs

 

protected

 

void rgBenchmarkedHours_ItemCreated(object sender, GridItemEventArgs e)

 

{

 

if (e.Item is GridEditableItem && e.Item.IsInEditMode)

 

{

 

RadComboBox list = (e.Item as GridEditableItem)["ProjectTypeCategoryID"].Controls[0] as RadComboBox;

 

 

list.AutoPostBack =

true;

 

list.SelectedIndexChanged +=

new RadComboBoxSelectedIndexChangedEventHandler(list_SelectedIndexChanged);

 

}

}

 

void list_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)

 

{

 

GridEditableItem editedItem = (sender as RadComboBox).NamingContainer as GridEditableItem;

 

 

RadComboBox ddList = editedItem["ProjectTypeNameDesc"].Controls[0] as RadComboBox;

 

 

int ptc = int.Parse((editedItem["ProjectTypeCategoryID"].Controls[0] as RadComboBox).SelectedValue);

 

ddList.ClearSelection();

ddList.DataSource = da.GetProjectTypeNameDescription(ptc);

ddList.DataBind();

}



Thank you!

1 Answer, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 24 Nov 2011, 07:06 AM
Hello,

You can try the following.
CS:
protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e)
    {
        GridEditFormInsertItem item = (GridEditFormInsertItem)e.Item;
        RadComboBox combo = (RadComboBox)item["drop"].Controls[0];
        combo.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(combo_SelectedIndexChanged);
    }
 void combo_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
    {
        //your code
    }

Thanks,
Princy.
Tags
Grid
Asked by
Silvina
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Share this question
or