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

using declarative parameter value in code behind

3 Answers 164 Views
Grid
This is a migrated thread and some comments may be shown as answers.
mirza baig
Top achievements
Rank 1
mirza baig asked on 15 Mar 2011, 12:59 PM

i am using Hierarchial Grid(3 levels).
in the first level i am using session parameter to fetch the records .
for the second level i am passing the first level DataKeyName as selectparameter  to fetch records. i have attached the screenshot of the Grid.

i have written insertcommand for the second level where i need MetricMeasureNumber to add new record .
in insertcommand i have used

 

 

GridEditFormInsertItem item = (GridEditFormInsertItem)e.Item;

MetricMeasureNumber =

 

Convert.ToInt32((item["MetricMeasureNumber"].Controls[0] as TextBox).Text);

to get the MetricMeasureNumber,but it is giving null,

please share your experiences,
thanks in advance.

 

3 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 15 Mar 2011, 02:22 PM
Hello Mirza,

Try the following code snippet and see if it works.

C#:
protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e)
   {
       GridEditFormInsertItem item = (GridEditFormInsertItem)e.Item;
       GridTableView childtable=(GridTableView)item.OwnerTableView;
       GridDataItem parentitem = (GridDataItem)childtable.ParentItem;
       Int32 MetricMeasureNumber =Convert.ToInt32(parentitem["MetricMeasureNumber"].Text);
      
   }

Thanks,
Princy.
0
mirza baig
Top achievements
Rank 1
answered on 16 Mar 2011, 10:43 AM
Hi princy ,
thanks for your post, it was really helpful
this is how i traced MetricMeasureNumber

string

 

 

strMetricMeasureNumber = parentItem.OwnerTableView.DataKeyValues[parentItem.ItemIndex]["MetricMeasureNumber"

].ToString();

 

 


Now ,one thing what i want is third level for the same grid.Please find the attachment for 3rd level.
below is my .aspx page code.in 3rd level i m not getting any data.in 3rd level i am trying to bind Datasource to a ListBox.

<

 

 

telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" DataSourceID

="SqlDataSource1"

 

 

 

 

Skin="WebBlue" ShowStatusBar="True" AutoGenerateColumns="False" PageSize

="3"

 

 

 

 

AllowSorting="True" AllowPaging="True" AllowAutomaticDeletes="True" AllowAutomaticInserts

="True"

 

 

 

 

AllowAutomaticUpdates="True" OnUpdateCommand="RadGrid1_UpdateCommand" OnInsertCommand

="RadGrid1_InsertCommand"

 

 

 

 

OnItemInserted="RadGrid1_ItemInserted" OnItemDeleted="RadGrid1_ItemDeleted" OnItemUpdated

="RadGrid1_ItemUpdated"

 

 

 

 

AllowFilteringByColumn

="True">

 

 

 

 

<PagerStyle Mode="NumericPages"></PagerStyle

>

 

 

 

 

<MasterTableView AutoGenerateColumns="False" DataKeyNames="MetricMeasureNumber" DataSourceID

="SqlDataSource1"

 

 

 

 

CommandItemDisplay="Top" Name

="MetricMeasure">

 

 

 

 

<DetailTables

>

 

 

 

 

<telerik:GridTableView DataKeyNames="MetricMeasureFilterNumber" DataSourceID

="SqlDataSource2"

 

 

 

 

Width="100%" runat="server" CommandItemDisplay="Top" Name

="MetricMeasureFilter">

 

 

 

 

<ParentTableRelation

>

 

 

 

 

<telerik:GridRelationFields DetailKeyField="MetricMeasureNumber" MasterKeyField="MetricMeasureNumber"

/>

 

 

 

 

</ParentTableRelation

>

 

 

 

 

<DetailTables

>

 

 

 

 

<telerik:GridTableView DataKeyNames="FilterNumber" DataSourceID

="SqlDataSource5"

 

 

 

 

Width="100%" runat="server" CommandItemDisplay="Top" Name

="MetricMeasureFilterValue">

 

 

 

 

<ParentTableRelation

>

 

 

 

 

<telerik:GridRelationFields DetailKeyField="MetricMeasureFilterNumber" MasterKeyField="MetricMeasureNumber"

/>

 

 

 

 

</ParentTableRelation

>

 

 

 

 

<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings

>

 

 

 

 

<RowIndicatorColumn FilterControlAltText

="Filter RowIndicator column">

 

 

 

 

</RowIndicatorColumn

>

 

 

 

 

<ExpandCollapseColumn FilterControlAltText

="Filter ExpandColumn column">

 

 

 

 

</ExpandCollapseColumn

>

 

 

 

 

<Columns

>

 

 

 

 

<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName

="EditCommandColumn1">

 

 

 

 

<HeaderStyle Width="20px"

/>

 

 

 

 

<ItemStyle CssClass="MyImageButton"

/>

 

 

 

 

</telerik:GridEditCommandColumn>

 

 

 

 

 

 

<telerik:GridTemplateColumn HeaderText="Filter Value" UniqueName

="LookupTable">

 

 

 

 

<ItemTemplate>

 

 

 

 

 

 

<asp:ListBox ID="lstbxFilterValue" runat="server" DataSourceID="SqlDataSource5" DataTextField

="LookupTableName"

 

 

 

 

DataValueField="FilterNumber"></asp:ListBox

>

 

 

 

 

</ItemTemplate

>

 

 

 

 

<EditItemTemplate

>

 

 

 

 

<asp:ListBox ID="lstbxFilterValue" runat="server" DataSourceID="SqlDataSource5"></asp:ListBox

>

 

 

 

 

</EditItemTemplate

>

 

 

 

 

</telerik:GridTemplateColumn

>

 

 

 

 

<telerik:GridButtonColumn ConfirmText="Delete this product?" ButtonType

="ImageButton"

 

 

 

 

CommandName="Delete" Text="Delete" UniqueName

="DeleteColumn1">

 

 

 

 

<HeaderStyle Width="20px"

/>

 

 

 

 

<ItemStyle HorizontalAlign="Center" CssClass="MyImageButton"

/>

 

 

 

 

</telerik:GridButtonColumn

>

 

 

 

 

</Columns

>

 

 

 

 

<EditFormSettings

>

 

 

 

 

<EditColumn FilterControlAltText

="Filter EditCommandColumn column">

 

 

 

 

</EditColumn

>

 

 

 

 

</EditFormSettings

>

 

 

 

 

</telerik:GridTableView

>

 

 

 

 

</DetailTables

>

 

 

 

 

<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings

>

 

 

 

 

<RowIndicatorColumn FilterControlAltText

="Filter RowIndicator column">

 

 

 

 

</RowIndicatorColumn

>

 

 

 

 

<ExpandCollapseColumn Visible="True" FilterControlAltText

="Filter ExpandColumn column">

 

 

 

 

</ExpandCollapseColumn

>

 

 

 

 

<Columns

>

 

 

 

 

<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName

="EditCommandColumn1">

 

 

 

 

<HeaderStyle Width="20px"

/>

 

 

 

 

<ItemStyle CssClass="MyImageButton"

/>

 

 

 

 

</telerik:GridEditCommandColumn

>

 

 

 

 

<telerik:GridBoundColumn SortExpression="MetricMeasureNumber" HeaderText

="MetricMeasureNumber"

 

 

 

 

ReadOnly="true" HeaderButtonType="TextButton" DataField

="MetricMeasureNumber"

 

 

 

 

UniqueName="MetricMeasureNumber" Visible

="false">

 

 

 

 

</telerik:GridBoundColumn

>

 

 

 

 

<telerik:GridBoundColumn SortExpression="MetricMeasureFilterNumber" HeaderText

="MetricMeasureFilterNumber"

 

 

 

 

HeaderButtonType="TextButton" ReadOnly="true" DataField

="MetricMeasureFilterNumber"

 

 

 

 

UniqueName="MetricMeasureFilterNumber" Visible

="false">

 

 

 

 

</telerik:GridBoundColumn

>

 

 

 

 

<telerik:GridTemplateColumn HeaderText="MetricFilterName" UniqueName

="MetricFilterName">

 

 

 

 

<ItemTemplate

>

 

 

 

 

<asp:Label ID="lblMetricFilterName" Width="155px" runat="server" Text='<%# Eval("FilterName") %>'></asp:Label

>

 

 

 

 

</ItemTemplate

>

 

 

 

 

<EditItemTemplate

>

 

 

 

 

<asp:DropDownList ID="ddlMetricFilterName" Width="155px" runat="server" DataTextField

="FilterName"

 

 

 

 

DataValueField="FilterNumber" DataSourceID

="SqlDataSource3">

 

 

 

 

</asp:DropDownList

>

 

 

 

 

</EditItemTemplate

>

 

 

 

 

</telerik:GridTemplateColumn

>

 

 

 

 

<telerik:GridTemplateColumn HeaderText="FilterOperator" UniqueName

="FilterOperator">

 

 

 

 

<ItemTemplate

>

 

 

 

 

<asp:Label ID="lblFilterOperator" Width="155px" runat="server" Text='<%# Eval("FilterOperator") %>'></asp:Label

>

 

 

 

 

</ItemTemplate

>

 

 

 

 

<EditItemTemplate

>

 

 

 

 

<asp:DropDownList ID="ddlFilterOperator" Width="155px" runat="server" DataTextField

="FilterOperator"

 

 

 

 

DataValueField="FilterOperatorNumber" DataSourceID

="SqlDSddlFilterOperator">

 

 

 

 

</asp:DropDownList

>

 

 

 

 

</EditItemTemplate

>

 

 

 

 

</telerik:GridTemplateColumn

>

 

 

 

 

<telerik:GridBoundColumn SortExpression="MetricFilterDisplayOrder" HeaderText

="MetricFilterDisplayOrder"

 

 

 

 

HeaderButtonType="TextButton" DataField="MetricFilterDisplayOrder" UniqueName

="MetricFilterDisplayOrder">

 

 

 

 

</telerik:GridBoundColumn

>

 

 

 

 

<telerik:GridBoundColumn SortExpression="ShowFilterValue" HeaderText

="ShowFilterValue"

 

 

 

 

HeaderButtonType="TextButton" ReadOnly="true" DataField="ShowFilterValue" UniqueName

="ShowFilterValue"

 

 

 

 

Visible

="false">

 

 

 

 

</telerik:GridBoundColumn

>

 

 

 

 

<telerik:GridButtonColumn ConfirmText="Delete this product?" ButtonType

="ImageButton"

 

 

 

 

CommandName="Delete" Text="Delete" UniqueName

="DeleteColumn1">

 

 

 

 

<HeaderStyle Width="20px"

/>

 

 

 

 

<ItemStyle HorizontalAlign="Center" CssClass="MyImageButton"

/>

 

 

 

 

</telerik:GridButtonColumn

>

 

 

 

 

</Columns

>

 

 

 

 

<EditFormSettings

>

 

 

 

 

<EditColumn FilterControlAltText

="Filter EditCommandColumn column">

 

 

 

 

</EditColumn

>

 

 

 

 

</EditFormSettings

>

 

 

 

 

</telerik:GridTableView

>

 

 

 

 

</DetailTables

>

 

 

 

 

<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings

>

 

 

 

 

<RowIndicatorColumn FilterControlAltText

="Filter RowIndicator column">

 

 

 

 

</RowIndicatorColumn

>

 

 

 

 

<ExpandCollapseColumn Visible="True" FilterControlAltText

="Filter ExpandColumn column">

 

 

 

 

</ExpandCollapseColumn

>

 

 

 

 

<Columns

>

 

 

 

 

<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName

="EditCommandColumn2">

 

 

 

 

<HeaderStyle Width="20px"

/>

 

 

 

 

<ItemStyle CssClass="MyImageButton"

/>

 

 

 

 

</telerik:GridEditCommandColumn

>

 

 

 

 

<telerik:GridBoundColumn DataField="MetricMeasureNumber" DataType

="System.Int32"

 

 

 

 

HeaderText="MetricMeasureNumber" ReadOnly="True" SortExpression

="MetricMeasureNumber"

 

 

 

 

UniqueName="MetricMeasureNumber" Visible

="true">

 

 

 

 

</telerik:GridBoundColumn

>

 

 

 

 

<telerik:GridBoundColumn DataField="MetricMeasureField" HeaderText

="MetricMeasureField"

 

 

 

 

SortExpression="MetricMeasureField" UniqueName

="MetricMeasureField">

 

 

 

 

</telerik:GridBoundColumn

>

 

 

 

 

<telerik:GridBoundColumn DataField="MetricMeasureDescription" HeaderText

="MetricMeasureDescription"

 

 

 

 

SortExpression="MetricMeasureDescription" UniqueName

="MetricMeasureDescription">

 

 

 

 

</telerik:GridBoundColumn

>

 

 

 

 

<telerik:GridBoundColumn DataField="MetricMeasureDisplayOrder" DataType

="System.Int32"

 

 

 

 

HeaderText="MetricMeasureDisplayOrder" SortExpression

="MetricMeasureDisplayOrder"

 

 

 

 

UniqueName

="MetricMeasureDisplayOrder">

 

 

 

 

</telerik:GridBoundColumn

>

 

 

 

 

<telerik:GridBoundColumn DataField="PipelineMeasure" HeaderText

="PipelineMeasure"

 

 

 

 

SortExpression="PipelineMeasure" UniqueName

="PipelineMeasure">

 

 

 

 

</telerik:GridBoundColumn

>

 

 

 

 

<telerik:GridButtonColumn ConfirmText="Delete this product?" ButtonType

="ImageButton"

 

 

 

 

CommandName="Delete" Text="Delete" UniqueName

="DeleteColumn1">

 

 

 

 

<HeaderStyle Width="20px"

/>

 

 

 

 

<ItemStyle HorizontalAlign="Center" CssClass="MyImageButton"

/>

 

 

 

 

</telerik:GridButtonColumn

>

 

 

 

 

</Columns

>

 

 

 

 

<EditFormSettings

>

 

 

 

 

<EditColumn FilterControlAltText

="Filter EditCommandColumn column">

 

 

 

 

</EditColumn

>

 

 

 

 

</EditFormSettings

>

 

 

 

 

</MasterTableView

>

 

 

 

 

<FilterMenu EnableImageSprites

="False">

 

 

 

 

</FilterMenu

>

 

 

 

 

<HeaderContextMenu CssClass

="GridContextMenu GridContextMenu_Office2007">

 

 

 

 

</HeaderContextMenu

>

 

 

 

 

</telerik:RadGrid

>

 

 

 

 

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConflictDetection

="CompareAllValues"

 

 

 

 

ConnectionString="<%$ ConnectionStrings:EAFBREWIP_Con %>" DeleteCommand

="DELETE FROM [MetricMeasure] WHERE [MetricMeasureNumber] = @original_MetricMeasureNumber"

 

 

 

 

InsertCommand

="INSERT INTO [MetricMeasure] ([MetricNumber],[MetricMeasureField], [MetricMeasureDescription], [MetricMeasureDisplayOrder], [PipelineMeasure]) VALUES (@sesprmMetricNumber, @MetricMeasureField, @MetricMeasureDescription, @MetricMeasureDisplayOrder, @PipelineMeasure)"

 

 

 

 

OldValuesParameterFormatString="original_{0}" SelectCommand

="SELECT [MetricMeasureNumber], [MetricMeasureField], [MetricMeasureDescription], [MetricMeasureDisplayOrder],[PipelineMeasure] FROM [MetricMeasure] where MetricNumber =@sesprmMetricNumber"

 

 

 

 

UpdateCommand

="UPDATE [MetricMeasure] SET [MetricMeasureField] = @MetricMeasureField, [MetricMeasureDescription] = @MetricMeasureDescription, [MetricMeasureDisplayOrder] = @MetricMeasureDisplayOrder, [PipelineMeasure] = @PipelineMeasure WHERE [MetricMeasureNumber] = @original_MetricMeasureNumber AND [MetricMeasureField] = @original_MetricMeasureField AND [MetricMeasureDescription] = @original_MetricMeasureDescription AND [MetricMeasureDisplayOrder] = @original_MetricMeasureDisplayOrder AND [PipelineMeasure] = @original_PipelineMeasure">

 

 

 

 

<SelectParameters

>

 

 

 

 

<asp:SessionParameter Name="sesprmMetricNumber" DbType="Int32" SessionField="MetricNumber"

/>

 

 

 

 

</SelectParameters

>

 

 

 

 

<DeleteParameters

>

 

 

 

 

<asp:Parameter Name="original_MetricMeasureNumber" Type="Int32"

/>

 

 

 

 

</DeleteParameters

>

 

 

 

 

<UpdateParameters

>

 

 

 

 

<asp:Parameter Name="MetricMeasureField" Type="String"

/>

 

 

 

 

<asp:Parameter Name="MetricMeasureDescription" Type="String"

/>

 

 

 

 

<asp:Parameter Name="MetricMeasureDisplayOrder" Type="String"

/>

 

 

 

 

<asp:Parameter Name="PipelineMeasure" Type="String"

/>

 

 

 

 

<asp:Parameter Name="original_MetricMeasureNumber" Type="Int32"

/>

 

 

 

 

<asp:Parameter Name="original_MetricMeasureField" Type="String"

/>

 

 

 

 

<asp:Parameter Name="original_MetricMeasureDescription" Type="String"

/>

 

 

 

 

<asp:Parameter Name="original_MetricMeasureDisplayOrder" Type="String"

/>

 

 

 

 

<asp:Parameter Name="original_PipelineMeasure" Type="String"

/>

 

 

 

 

</UpdateParameters

>

 

 

 

 

<InsertParameters

>

 

 

 

 

<asp:SessionParameter Name="sesprmMetricNumber" DbType="Int32" SessionField="MetricNumber"

/>

 

 

 

 

<asp:Parameter Name="MetricMeasureField" Type="String"

/>

 

 

 

 

<asp:Parameter Name="MetricMeasureDescription" Type="String"

/>

 

 

 

 

<asp:Parameter Name="MetricMeasureDisplayOrder" Type="Int32"

/>

 

 

 

 

<asp:Parameter Name="PipelineMeasure" Type="String"

/>

 

 

 

 

</InsertParameters

>

 

 

 

 

</asp:SqlDataSource

>

 

 

 

 

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:EAFBREWIP_Con%>

"

 

 

 

 

DeleteCommand

="DELETE FROM [MetricMeasureFilter] WHERE [MetricMeasureFilterNumber] = @original_MetricMeasureFilterNumber"

 

 

 

 

OldValuesParameterFormatString="original_{0}" SelectCommand

="select mflt.FilterName,mmf.MetricFilterNumber,mmf.FilterOperatorNumber,mmf.MetricMeasureFilterNumber,mmf.MetricMeasureNumber, fo.FilterOperator, mmf.MetricFilterDisplayOrder, fo.ShowFilterValue,mmf.MetricMeasureNumber from MetricMeasureFilter mmf inner join Map_Filter_LookupTable mflt on mmf.MetricFilterNumber = mflt.FilterNumber inner join FilterOperator fo on mmf.FilterOperatorNumber = fo.FilterOperatorNumber where mmf.MetricMeasureNumber = @MetricMeasureNumber">

 

 

 

 

<SelectParameters

>

 

 

 

 

<asp:Parameter Name="MetricMeasureNumber" Type="Int32"

/>

 

 

 

 

</SelectParameters

>

 

 

 

 

<DeleteParameters

>

 

 

 

 

<asp:Parameter Name="original_MetricMeasureFilterNumber" Type="Int32"

/>

 

 

 

 

</DeleteParameters>

 

 

 

 

 

 

<InsertParameters

>

 

 

 

 

<asp:Parameter Name="MetricMeasureNumber" Type="Int32"

/>

 

 

 

 

<asp:Parameter Name="MetricFilterNumber" Type="Int32"

/>

 

 

 

 

<asp:Parameter Name="FilterOperatorNumber" Type="Int32"

/>

 

 

 

 

<asp:Parameter Name="MetricFilterDisplayOrder" Type="String"

/>

 

 

 

 

</InsertParameters>

 

 

 

 

 

 

</asp:SqlDataSource>

 

 

 

 

 

 

<asp:SqlDataSource ID="SqlDSddlFilterOperator" runat="server" ConnectionString="<%$ ConnectionStrings:EAFBREWIP_Con%>

"

 

 

 

 

SelectCommand

="SELECT [FilterOperatorNumber],[FilterOperator] FROM [FilterOperator]">

 

 

 

 

</asp:SqlDataSource>

 

 

 

 

 

 

<asp:SqlDataSource ID="SqlDataSource5" runat="server" ConnectionString="<%$ ConnectionStrings:EAFBREWIP_Con%>

"

 

 

 

 

SelectCommandType="StoredProcedure" SelectCommand="GetFiltervalue">

 

 

 

 

 

 

<SelectParameters

>

 

 

 

 

<asp:Parameter Name="MetricMeasureFilterNumber" Type="Int32"

/>

 

 

 

 

</SelectParameters

>

 

 

 

 

</asp:SqlDataSource

>

 

 

 

 

<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:EAFBREWIP_Con%>

"

 

 

 

 

SelectCommand="SELECT [FilterNumber], [FilterName] FROM [Map_Filter_LookupTable]">

 

 

 

 

 

 

</asp:SqlDataSource>

 

 


please share your experiences,
thanks in advance
0
Princy
Top achievements
Rank 2
answered on 16 Mar 2011, 12:39 PM
Hello Mirza,

I guess the problem is ParentTableRelations/DataKeyNames for the MasterTableView/GridTableViews according to the database relations conventions. Please refer the following demo and check whether you have followed the exact  conventions mentioned in this demo.
Grid / Declarative Relations

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