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

getting null value from Form Template in code behind when insert

1 Answer 196 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Carlos
Top achievements
Rank 1
Carlos asked on 18 May 2015, 03:22 PM
aspx file 
<telerik:RadGrid runat="server" ID="RadGrid1" AutoGenerateColumns="False" AllowPaging="True"
                            CellSpacing="-1" GridLines="Both" GroupPanelPosition="Top" OnItemDataBound="RadGrid1_ItemDataBound" OnItemCommand="RadGrid1_ItemCommand" OnInsertCommand="RadGrid1_InsertCommand">
                            <MasterTableView DataKeyNames="COA_ACCOUNT_ID" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage" EditMode="EditForms">
                                <RowIndicatorColumn Visible="False">
                                </RowIndicatorColumn>
                                <ExpandCollapseColumn Created="True">
                                </ExpandCollapseColumn>
                                <Columns>
                                    <telerik:GridEditCommandColumn ButtonType="ImageButton"/>
                                    <telerik:GridBoundColumn DataField="ACCOUNT_CODE" HeaderText="ACCOUNT CODE" />
                                    <telerik:GridBoundColumn DataField="ACCOUNT_DESCRIPTION" HeaderText="DESCRIPTION" />
                                    <telerik:GridBoundColumn DataField="ACCOUNT_TYPE" HeaderText="TYPE" />
                                    <telerik:GridBoundColumn DataField="ACCOUNT PAYABLE" HeaderText="PAYABLE" />
                                    <telerik:GridBoundColumn DataField="STATUS" HeaderText="STATUS" />
                                    <telerik:GridButtonColumn ConfirmText="Delete this product?" ConfirmDialogType="RadWindow"
                                        ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" />
                                </Columns>
                                <EditFormSettings EditFormType="Template">
                                    <EditColumn ButtonType="ImageButton" />
                                    <FormTemplate>
                                        <table id="Table3" width="450px" border="0" class="module">
                                            <tr>
                                                <td>Account Code:
                                                </td>
                                                <td>
                                                    <%--<telerik:RadTextBox ID="RadtxtAccountCode" runat="server" Text='<%# Bind("ACCOUNT_CODE") %>'>
                                                    </telerik:RadTextBox>--%>
                                                    <asp:TextBox ID="RadtxtAccountCode" runat="server" Text='<%# Bind("ACCOUNT_CODE") %>'>
                                                    </asp:TextBox>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>Account Description:
                                                </td>
                                                <td>
                                                    <telerik:RadTextBox ID="RadtxtAccountDescription" runat="server" Text='<%# Bind("ACCOUNT_DESCRIPTION") %>'>
                                                    </telerik:RadTextBox>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>Account Type:
                                                </td>
                                                <td>
                                                    <telerik:RadDropDownList ID="RadddlAccountType" runat="server">
                                                    </telerik:RadDropDownList>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>Account Payable:
                                                </td>
                                                <td>
                                                    <telerik:RadDropDownList ID="RadddlAccountPayable" runat="server">
                                                        <Items>
                                                            <telerik:DropDownListItem Text ="Debit" Value ="0" />
                                                            <telerik:DropDownListItem Text ="Credit" Value ="1" />
                                                            <telerik:DropDownListItem Text ="Dr./Cr." Value = "2" Selected ="true"/>
                                                        </Items>
                                                    </telerik:RadDropDownList>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td align="left" colspan="2">
                                                    <telerik:RadButton ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
                                                        runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'></telerik:RadButton
                                                    <telerik:RadButton ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" CommandName="Cancel"></telerik:RadButton>
                                                </td>
                                            </tr>
                                        </table>
                                    </FormTemplate>
                                </EditFormSettings>
                            </MasterTableView>
                            <PagerStyle Mode="NextPrevAndNumeric" />
                            <ClientSettings>
                                <ClientEvents OnRowDblClick="rowDblClick" />
                            </ClientSettings>
                        </telerik:RadGrid>

 

cs File

protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
        {
            if (e.CommandName == RadGrid.PerformInsertCommandName && e.Item is GridEditFormInsertItem)
            {
                //GridEditableItem editedItem = e.Item as GridEditableItem;
                GridEditFormItem item = (GridEditFormItem)e.Item;
                TextBox tfff = (TextBox)item.FindControl("RadtxtAccountCode");
                RadDropDownList radddlAccountType = item.FindControl("RadddlAccountType") as RadDropDownList;
                RadTextBox RadtxtAccountDescription = item.FindControl("RadtxtAccountDescription") as RadTextBox;
                //GridEditFormItem item = (GridEditFormItem)e.Item.OwnerTableView.GetInsertItem();
                //GridDataInsertItem item = (GridDataInsertItem)RadGrid1.MasterTableView.GetInsertItem();
                //var item = e.Item as GridEditFormItem ?? ((GridDataItem)(e.Item)).EditFormItem;
                if (item == null)
                    throw new Exception("griddataitem is null");
                var RadtxtAccountCode1 = item.FindControl("RadtxtAccountCode") as TextBox;
 
                RadTextBox RadtxtAccountCode = (RadTextBox)item.FindControl("RadtxtAccountCode");
                //RadTextBox RadtxtAccountDescription = item.FindControl("RadtxtAccountDescription") as RadTextBox;
                RadDropDownList RadddlAccountType = item.FindControl("RadddlAccountType") as RadDropDownList;
                RadDropDownList RadddlAccountPayable = item.FindControl("RadddlAccountPayable") as RadDropDownList;
                objAccountInsert.iCatalog_id = 1;
                objAccountInsert.iAccount_type_id = 1;
                objAccountInsert.iCode = Convert.ToInt16(RadtxtAccountCode1.Text);
                objAccountInsert.strDesignation_native = RadtxtAccountDescription.Text;
                objAccountInsert.strDesignation_other = RadtxtAccountDescription.Text;
                objAccountInsert.iAccount_type_id =Convert.ToInt16(RadddlAccountType.SelectedValue);
                objAccountInsert.iPayable = Convert.ToInt16(RadddlAccountPayable.SelectedValue);
                objAccountInsert.bActive = true;
                objAccountInsert.iCreated_user_id = 1;
                objAccountInsert.iUpdated_user_id = 1;
 
                int i = new Account_BL().LegalAccountInsert(objAccountInsert);
            }

when I try to get value from From Template control (RadtxtAccountCode, RadtxtAccountDescription) its show null value. please help me. I want to get value from those control entered by the user.

1 Answer, 1 is accepted

Sort by
0
Konstantin Dikov
Telerik team
answered on 21 May 2015, 11:10 AM
Hello Carlos,

The following code within the OnItemCommand event handler should retrieve the correct values:
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
    if (e.CommandName == RadGrid.PerformInsertCommandName && e.Item is GridEditFormInsertItem)
    {
        GridEditFormItem item = (GridEditFormItem)e.Item;
        TextBox textBoxAccountCode = (TextBox)item.FindControl("RadtxtAccountCode");
        RadTextBox RadtxtAccountDescription = item.FindControl("RadtxtAccountDescription") as RadTextBox;
        string accountCode = textBoxAccountCode.Text;
        string accountDescription = RadtxtAccountDescription.Text;
    }
}

However, from the provided code snippet it is not clear how you are binding your RadGrid, so can you please ensure that you are using the Advanced Data-Binding or Declarative DataSource as documented in the following help articles:
Hope this helps.



Regards,
Konstantin Dikov
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Tags
Grid
Asked by
Carlos
Top achievements
Rank 1
Answers by
Konstantin Dikov
Telerik team
Share this question
or