
Hello everyone,
I am currently building a RadGrid that is bound to an empty dataset. In this dataset, a new row will allow a selection of parameters, which will make up a query (eventually).
Each row has two dropdowns, the first one drives the second one's value. Both values are required for the end result.
Currently, when I click "Insert new" it creates the new row, I can select a value from the first dropdown, and it populates the second. When I click "Insert" to store the data, the data stored is the original value of the first dropdown (Unique Name: ObjectName) and the selected (correct value) of Unique Name: CounterName. This problem occurs both on Update and Insert, so I suspect its the same cause.
After trying to look up values, use hash tables, etc---I have not quite figured out what I am doing wrong. Suggestions would be appreciated, I suspect its something small.
Thanks!
<telerik:RadGrid ID="RadGrid1" runat="server" AllowMultiRowEdit="True" EnableViewState="false" AutoGenerateEditColumn="True" OnNeedDataSource="RadGrid1_NeedDataSource" OnUpdateCommand="RadGrid1_UpdateCommand" OnInsertCommand="RadGrid1_InsertCommand" OnItemDataBound="RadGrid1_ItemDataBound" AutoGenerateColumns="False" ShowStatusBar="True" AllowAutomaticUpdates="False" AllowAutomaticInserts="False"> <ExportSettings> <Pdf AllowPrinting="False" /> </ExportSettings> <MasterTableView EditMode="InPlace" CommandItemDisplay="Top" DataKeyNames="ParamID"> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" Visible="True"> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" Visible="True"> </ExpandCollapseColumn> <Columns> <telerik:GridDropDownColumn HeaderText="Objects" UniqueName="ObjectName" runat="server" DataSourceID="Avail_Objects_ByServer" ListValueField="ObjectName" ListTextField="ObjectName" DataField="ObjectName" /> <telerik:GridDropDownColumn HeaderText="Counters" UniqueName="CounterName" runat="server" ListValueField="CounterName" ListTextField="CounterName" DataField="CounterName" /> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings> <PagerStyle PageSizeControlType="RadComboBox" /> </MasterTableView> <PagerStyle PageSizeControlType="RadComboBox" /> <FilterMenu EnableImageSprites="False"> </FilterMenu></telerik:RadGrid>
protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e){ GridEditableItem editedItem = e.Item as GridEditableItem; GridEditManager editMan = editedItem.EditManager; DataTable ordersTable = this.GridSource; DataRow newRow = ordersTable.NewRow(); newRow["ParamID"] = (int)this.GridSource.Rows.Count + 1; foreach (GridColumn column in e.Item.OwnerTableView.RenderColumns) { if (column is IGridEditableColumn) { IGridEditableColumn editableCol = (column as IGridEditableColumn); if (editableCol.IsEditable) { IGridColumnEditor editor = editMan.GetColumnEditor(editableCol); string editorText = "unknown"; object editorValue = null; if (editor is GridDropDownColumnEditor) { editorText = (editor as GridDropDownColumnEditor).SelectedText + "; " + (editor as GridDropDownColumnEditor).SelectedValue; editorValue = (editor as GridDropDownColumnEditor).SelectedValue; newRow[column.UniqueName] = editorValue; } } } } object Test1 = newRow[0]; object Test2 = newRow[1]; object Test3 = newRow[2]; //ordersTable.Rows.Add(newRow); this.GridSource.AcceptChanges();}<GroupByExpressions> <telerik:GridGroupByExpression> <SelectFields> <telerik:GridGroupByField FieldAlias="Institution" FieldName="Institution" HeaderValueSeparator=" : " SortOrder="Ascending"></telerik:GridGroupByField> <telerik:GridGroupByField FieldName="Value" FieldAlias="Value" HeaderText="Total" Aggregate="Sum" FormatString="{0:N2}" /> </SelectFields> <GroupByFields> <telerik:GridGroupByField FieldName="Institution" SortOrder="Ascending"></telerik:GridGroupByField> </GroupByFields></telerik:GridGroupByExpression><telerik:GridGroupByExpression> <SelectFields> <telerik:GridGroupByField FieldAlias="Year" FieldName="Year" SortOrder="Ascending" FormatString="{0:D}" HeaderValueSeparator=" : "></telerik:GridGroupByField> </SelectFields> <GroupByFields> <telerik:GridGroupByField FieldName="Year" SortOrder="Ascending"></telerik:GridGroupByField> </GroupByFields> </telerik:GridGroupByExpression></GroupByExpressions>
<body> <form id="form1" runat="server"> <telerik:RadScriptManager runat="server" ID="RadScriptManager1" /> <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" Height="200px" Width="300px"> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" DecorationZoneID="zone" /> <div id="zone" class="formRow" style="border: 0;"> <telerik:RadDropDownList ID="RadDropDownList1" runat="server" DataSourceID="sqlDS_Culture" DataTextField="LocalizationDesc" DataValueField="LocalizationID"> </telerik:RadDropDownList> <asp:SqlDataSource ID="sqlDS_Culture" runat="server" ConnectionString="<%$ ConnectionStrings:EStoreConnectionString %>" SelectCommand="Localization_Get" SelectCommandType="StoredProcedure"> </asp:SqlDataSource> <table> <telerik:RadListView ID="RadListView1" runat="server" DataKeyNames="ID" ItemPlaceholderID="CityItemsHolder" OnPreRender="RadListView1_PreRender" > <LayoutTemplate> <telerik:RadTextBox ID="RadTextBox1" runat="server" Text="test"> </telerik:RadTextBox> <fieldset style="width: 300px;"> <legend>Cities</legend> <asp:Panel ID="CityItemsHolder" runat="server"> </asp:Panel> </fieldset> </LayoutTemplate> <ItemTemplate> <tr> <td></td> <td style="text-align: left;"> <asp:LinkButton ID="lbnDeliveryType2Select" runat="server"><%# eGlobalization.GetGlobalResourceObject("Localization", "DeliveryType_" & CType(Container.DataItem, eDelivery).ID).ToString%></asp:LinkButton> </td> <td style="text-align: right;"> <%# FormatPrice(CType(Container.DataItem, eDelivery).Price)%> </td> </tr> </ItemTemplate> <SelectedItemTemplate> <tr> <td>x</td> <td style="text-align: left;"> <asp:LinkButton ID="lbnDeliveryType2Select" runat="server"><%# eGlobalization.GetGlobalResourceObject("Localization", "DeliveryType_" & CType(Container.DataItem, eDelivery).ID).ToString%></asp:LinkButton> </td> <td style="text-align: right;"> <%# FormatPrice(CType(Container.DataItem, eDelivery).Price)%> </td> </tr> </SelectedItemTemplate> <ItemSeparatorTemplate> <span style="color: Olive; font-weight: bold;"> :: </span> </ItemSeparatorTemplate> </telerik:RadListView> </table> </div> </telerik:RadAjaxPanel> </form></body>

