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

[Solved] Add New Record not working

6 Answers 301 Views
Grid
This is a migrated thread and some comments may be shown as answers.
maha
Top achievements
Rank 1
maha asked on 13 Jul 2009, 09:10 PM
I have the following Grid. When i click on the commanditem "Add New condition Group" in Master record or Add new condition to this group in Detail record, the entire row becomes empty.
Not sure what is causing this. Can someone help.


Thanks, in advance.

The following grid is within another grid as one of the column. In this grid i am setting datasource for the below grid.


<telerik:RadGrid ID="rgRuleConditionsGroup" runat="server" OnItemDataBound = "rgRuleConditionsGroup_ItemDataBound"
OnItemCommand="rgRuleConditionsGroup_ItemCommand" AutoGenerateColumns="False"
AutoGenerateDeleteColumn="True" Skin="Office2007">
<MasterTableView Name="RuleConditionGroups" DataKeyNames="accountRuleConditionGroupID"
ShowHeader="false" ShowHeadersWhenNoRecords="true" EditMode="InPlace"
CommandItemDisplay="Top" InsertItemDisplay="Bottom"
CommandItemSettings-AddNewRecordText="Add new condition group"
HierarchyDefaultExpanded="True" ExpandCollapseColumn-Display="False" >
<DetailTables>
<telerik:GridTableView Name="RuleConditions" DataKeyNames="accountRuleConditionID"
ShowHeader="False" ShowHeadersWhenNoRecords="True"
CommandItemDisplay="Top" InsertItemDisplay="Bottom"
CommandItemSettings-AddNewRecordText="Add new condition to this group" Width="100%">
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="accountRuleConditionGroupID" MasterKeyField="accountRuleConditionGroupID" />
</ParentTableRelation>
<%--<CommandItemSettings AddNewRecordText="Add new condition to group"></CommandItemSettings>--%>
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridTemplateColumn>
<ItemTemplate>
<telerik:RadComboBox ID="rcbJoinOperator" Runat="server" Skin="Vista" width="75">
<Items>
<telerik:RadComboBoxItem runat="server" Text="AND" Value="AND" />
<telerik:RadComboBoxItem runat="server" Text="OR" Value="OR" />
</Items>
<CollapseAnimation Duration="200" Type="OutQuint" />
</telerik:RadComboBox>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox ID="rcbJoinOperator" Runat="server" Skin="Vista" width="75">
<Items>
<telerik:RadComboBoxItem runat="server" Text="AND" Value="AND" />
<telerik:RadComboBoxItem runat="server" Text="OR" Value="OR" />
</Items>
<CollapseAnimation Duration="200" Type="OutQuint" />
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<telerik:RadComboBox ID="rcbParameter1" AutoPostBack ="true" Runat="server" Width="100" Skin="Office2007" OnSelectedIndexChanged="rcbParameter1_SelectedIndexChanged">
<Items> 
<telerik:RadComboBoxItem runat="server" Text="1" Value="1" />
<telerik:RadComboBoxItem runat="server" Text="2" Value="2" />
<telerik:RadComboBoxItem runat="server" Text="3" Value="3" />
<telerik:RadComboBoxItem runat="server" Text="4" Value="4" />
<telerik:RadComboBoxItem runat="server" Text="5" Value="5" />
</Items>
</telerik:RadComboBox>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox ID="rcbParameter1" AutoPostBack ="true" Runat="server" Width="100" Skin="Office2007" OnSelectedIndexChanged="rcbParameter1_SelectedIndexChanged">
<Items>
<telerik:RadComboBoxItem runat="server" Text="1" Value="1" />
<telerik:RadComboBoxItem runat="server" Text="2" Value="2" />
<telerik:RadComboBoxItem runat="server" Text="3" Value="3" />
<telerik:RadComboBoxItem runat="server" Text="4" Value="4" />
<telerik:RadComboBoxItem runat="server" Text="5" Value="5" />
</Items>
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<telerik:RadComboBox ID="rcbParameterDP1" Runat="server" Width="150" Skin="Office2007" DataValueField="accountRuleParameterID" DataTextField="ParameterDisplayName">
</telerik:RadComboBox>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox ID="rcbParameterDP1" Runat="server" Width="150" Skin="Office2007" DataValueField="accountRuleParameterID" DataTextField="ParameterDisplayName">
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn
SortExpression="ConditionOperator" UniqueName="ConditionOperator"
DataField="conditionOperator">
<ItemTemplate>
<telerik:RadComboBox ID="rcbConditionOperator" Runat="server" Width="100" Skin="Office2007">
<Items>
<telerik:RadComboBoxItem runat="server" Text="Equal To" Value="Equals" />
<telerik:RadComboBoxItem runat="server" Text="Not Equal To" Value="NotEquals" />
<telerik:RadComboBoxItem runat="server" Text="Greater Than"
Value="GreaterThan" />
<telerik:RadComboBoxItem runat="server" Text="Less Than" Value="LessThan" />
<telerik:RadComboBoxItem runat="server" Text="Greater Than Or Equal To"
Value="GreaterThanOrEquals" />
<telerik:RadComboBoxItem runat="server" Text="Less Than Or Equal To"
Value="LessThanOrEquals" />
<telerik:RadComboBoxItem runat="server" Text="Is In" Value="In" />
<telerik:RadComboBoxItem runat="server" Text="Is Not In" Value="NotIn" />
</Items>
<CollapseAnimation Duration="200" Type="OutQuint" />
</telerik:RadComboBox>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox ID="rcbConditionOperator" Runat="server" Width="100" Skin="Office2007">
<Items>
<telerik:RadComboBoxItem runat="server" Text="Equal To" Value="Equals" />
<telerik:RadComboBoxItem runat="server" Text="Not Equal To" Value="NotEquals" />
<telerik:RadComboBoxItem runat="server" Text="Greater Than"
Value="GreaterThan" />
<telerik:RadComboBoxItem runat="server" Text="Less Than" Value="LessThan" />
<telerik:RadComboBoxItem runat="server" Text="Greater Than Or Equal To"
Value="GreaterThanOrEquals" />
<telerik:RadComboBoxItem runat="server" Text="Less Than Or Equal To"
Value="LessThanOrEquals" />
<telerik:RadComboBoxItem runat="server" Text="Is In" Value="In" />
<telerik:RadComboBoxItem runat="server" Text="Is Not In" Value="NotIn" />
</Items>
<CollapseAnimation Duration="200" Type="OutQuint" />
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<telerik:RadComboBox ID="rcbParameter2" AutoPostBack="true" Runat="server" Width="100" Skin="Office2007" OnSelectedIndexChanged="rcbParameter2_SelectedIndexChanged">
<Items> 
<telerik:RadComboBoxItem runat="server" Text="1" Value="1" />
<telerik:RadComboBoxItem runat="server" Text="2" Value="2" />
<telerik:RadComboBoxItem runat="server" Text="3" Value="3" />
<telerik:RadComboBoxItem runat="server" Text="4" Value="4" />
<telerik:RadComboBoxItem runat="server" Text="5" Value="5" />
</Items>
</telerik:RadComboBox>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox ID="rcbParameter2" AutoPostBack="true" Runat="server" Width="100" Skin="Office2007" OnSelectedIndexChanged="rcbParameter2_SelectedIndexChanged">
<Items> 
<telerik:RadComboBoxItem runat="server" Text="1" Value="1" />
<telerik:RadComboBoxItem runat="server" Text="2" Value="2" />
<telerik:RadComboBoxItem runat="server" Text="3" Value="3" />
<telerik:RadComboBoxItem runat="server" Text="4" Value="4" />
<telerik:RadComboBoxItem runat="server" Text="5" Value="5" />
</Items>
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<telerik:RadComboBox ID="rcbParameterDP2" Runat="server" Width="150" Skin="Office2007" AllowCustomText="True" DataValueField="accountRuleParameterID" DataTextField="ParameterDisplayName">
</telerik:RadComboBox>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox ID="rcbParameterDP2" Runat="server" Width="150" Skin="Office2007" AllowCustomText="True" DataValueField="accountRuleParameterID" DataTextField="ParameterDisplayName">
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="accountRuleConditionID" UniqueName="AccountRuleConditionID" Visible="false" />
<telerik:GridBoundColumn DataField="accountRuleConditionGroupID" UniqueName="AccountRuleConditionGroupID" Visible="false" />
<telerik:GridBoundColumn DataField="accountRuleAlertID" UniqueName="AccountRuleAlertID" Visible="false" />
<telerik:GridBoundColumn DataField="sequenceNum" UniqueName="SequenceNum" Visible="false" />
</Columns>
</telerik:GridTableView>
</DetailTables>
<CommandItemSettings AddNewRecordText="Add new condition group"></CommandItemSettings>
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn Visible="True" Display="False">
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridTemplateColumn
SortExpression="JoinOperator" UniqueName="JoinOperator"
DataField="joinOperator">
<ItemTemplate>
<telerik:RadComboBox ID="rcbJoinOperator" Runat="server" Skin="Vista" width="75">
<Items>
<telerik:RadComboBoxItem runat="server" Text="AND" Value="AND" />
<telerik:RadComboBoxItem runat="server" Text="OR" Value="OR" />
</Items>
<CollapseAnimation Duration="200" Type="OutQuint" />
</telerik:RadComboBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>

<FilterMenu Skin="Office2007" EnableTheming="True">
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</FilterMenu>
</telerik:RadGrid>

6 Answers, 1 is accepted

Sort by
0
Daniel
Telerik team
answered on 14 Jul 2009, 06:32 AM
Hello Maha,

Could you please let us know how you populate your RadGrid with data? The described behavior is observed when using simple data-binding. For more information please examine the following links:
Advanced Data-binding
Simple Data-binding
Hierarchical data-binding using DetailTableDataBind event

Kind regards,
Daniel
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
0
Shinu
Top achievements
Rank 2
answered on 14 Jul 2009, 06:52 AM
Hi Maha,

If the entire Grid rows are getting empty on clicking the AddNewRecord button it may be due to Simple-Databinding as Telerik said. But If it is a single row that is getting empty I guess you might have misunderstood the Insert Form(InPlace) as an empty Grid row. If you dont want the Inplace editing you may set the EditMode to EditForms .

Regards
Shinu
0
maha
Top achievements
Rank 1
answered on 15 Jul 2009, 02:47 PM
It looks like the databinding issue. I added NeedDatasource and testing it.
0
maha
Top achievements
Rank 1
answered on 15 Jul 2009, 10:12 PM
I added the needdatasource and i am now able to see everything fine.

I have two other issues though.

issue 1 : I have RadComboBox and i have a selectedindex changed event associated with that control.

When i change an item in the combobox i am getting an error  cannot convert GridForInsertedItem to GridDataItem.

Below is the code i have on SelectedIndexChanged event.

 

 

protected

 

void rcbParameter1_SelectedIndexChanged(object sender, EventArgs e)

 

{

 

RadComboBox rcbParameter1 = (RadComboBox)sender;

 

 

GridDataItem row = (GridDataItem)rcbParameter1.NamingContainer;

 

 

RadComboBox rcbParameterDP1 = (RadComboBox)row.FindControl("rcbParameterDP1");

 

 

parameterClassName = rcbParameter1.SelectedValue;

rcbParameterDP1.DataSource = RuleParameterDS.Select();

rcbParameterDP1.DataBind();

}

Issue 2:

 

 

Insert button and cancel button is not displayed after i click 'Add new Record'.
Whct could be the possible reason for that.

I would really appreciate your help.
Thanks in advance.

 

0
maha
Top achievements
Rank 1
answered on 16 Jul 2009, 02:55 PM
I added the needdatasource and i am now able to see everything fine.

I have two other issues though.

issue 1 : I have RadComboBox and i have a selectedindex changed event associated with that control.

When i change an item in the combobox i am getting an error  cannot convert GridForInsertedItem to GridDataItem.

Below is the code i have on SelectedIndexChanged event.

 

 

protected

 

 

void rcbParameter1_SelectedIndexChanged(object sender, EventArgs e)

 

{

 

 

RadComboBox rcbParameter1 = (RadComboBox)sender;

 

 

 

GridDataItem row = (GridDataItem)rcbParameter1.NamingContainer;

 

 

 

RadComboBox rcbParameterDP1 = (RadComboBox)row.FindControl("rcbParameterDP1");

 

 

parameterClassName = rcbParameter1.SelectedValue;

rcbParameterDP1.DataSource = RuleParameterDS.Select();

rcbParameterDP1.DataBind();

}

Issue 2:

 

 

 

Insert button and cancel button is not displayed after i click 'Add new Record'.
Whct could be the possible reason for that.

I would really appreciate your help.
Thanks in advance.

 

 

0
Shinu
Top achievements
Rank 2
answered on 17 Jul 2009, 07:32 AM
Hi Maha,

From the previous forum post I can see that you are using the same RadComboBox in the ItemTemplate as well as EditItemTemplate and in the code behind you are casting the NamingContainer of the RadComboBox as GridDataItem which will throw an error when you try to change the selection of the combobox in the Insert mode( where you need to cast the NamingContainer  as GridDataInsertItem/GridEditFormInsertItem).

//Here is the sample code in insert mode:
CS:
 
 protected void rcbParameter1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
        RadComboBox rcbParameter1 = (RadComboBox)sender; 
 
        if ((rgRuleConditionsGroup.MasterTableView.IsItemInserted)&&(rgRuleConditionsGroup.EditIndexes.Count==0)) 
        { 
            GridDataInsertItem row = (GridDataInsertItem)rcbParameter1.NamingContainer; 
 
            RadComboBox rcbParameterDP1 = (RadComboBox)row.FindControl("rcbParameterDP1"); 
            parameterClassName = rcbParameter1.SelectedValue; 
            rcbParameterDP1.DataSource = RuleParameterDS.Select(); 
            rcbParameterDP1.DataBind(); 
 
        } 
        
      
    } 


Shinu
Tags
Grid
Asked by
maha
Top achievements
Rank 1
Answers by
Daniel
Telerik team
Shinu
Top achievements
Rank 2
maha
Top achievements
Rank 1
Share this question
or