How can i access a control of edit itemtemplate of telerik grid in ItemCommand Event?
My code:-
if
(e.CommandName == "GetPrice")
{
if (e.Item is GridEditableItem)
{
GridEditableItem editItem = (GridEditableItem)e.Item;
TextBox box = (TextBox)editItem["SharePrice"].FindControl("txtPrice");
}
the "box" gets null value here.
I am not able to access the text box "txtPrice" of column "SharePrice".
5 Answers, 1 is accepted
the CommandName is Update or PerformInsert
<Columns> <telerik:GridButtonColumn UniqueName="EditColumn" Text="Edit" CommandName="Edit" /> <telerik:GridBoundColumn UniqueName="SpiffID" DataField="SpiffID" HeaderText="SpiffID" ReadOnly="True" /> <telerik:GridBoundColumn UniqueName="Seq" DataField="Seq" HeaderText="seq" /> <telerik:GridTemplateColumn UniqueName="CashBack" HeaderText="CashBack" > <ItemTemplate> <asp:Label ID="lblCashBack" Text='<%# Bind("CashBack") %>' runat="server" /> </ItemTemplate> <EditItemTemplate> <telerik:RadNumericTextBox ID="rntbCashBack" text='<%# Eval("CashBack") %>' runat="server"> <NumberFormat DecimalDigits="2" /> </telerik:RadNumericTextBox> <asp:RequiredFieldValidator ID="rfvCashBack" ControlToValidate="rntbCashBack" ErrorMessage="Required" runat="server" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn UniqueName="CaseDollarItem" DataField="CaseDollarItem" HeaderText="CaseDollarItem" /> <telerik:GridCheckBoxColumn UniqueName="AllorByItem" DataField="AllOrByItem" HeaderText="AllItems" /> <telerik:GridTemplateColumn UniqueName="QtytoOrder" HeaderText="Qty to Order"> <ItemTemplate> <asp:Label ID="lblQtytoOrder" Text='<%# Bind("QtytoOrder") %>' runat="server" /> </ItemTemplate> <EditItemTemplate> <telerik:RadNumericTextBox ID="rntbQtytoOrder" Text='<%# Eval("QtytoOrder") %>' runat="server" > <NumberFormat DecimalDigits="0" /> </telerik:RadNumericTextBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="DollartoOrder" HeaderText="$ to Order"> <ItemTemplate> <asp:Label ID="lblDollartoOrder" Text='<%# Eval("DollartoOrder") %>' runat="server" /> </ItemTemplate> <EditItemTemplate> <telerik:RadNumericTextBox ID="rntbDollartoOrder" runat="server" > <NumberFormat DecimalDigits="2" /> </telerik:RadNumericTextBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="MinQty" HeaderText="Min Qty"> <ItemTemplate> <asp:Label ID="lblMinQty" Text='<%# Eval("MinQty") %>' runat="server" /> </ItemTemplate> <EditItemTemplate> <telerik:RadNumericTextBox ID="rntbMinQty" runat="server" > <NumberFormat DecimalDigits="0" /> </telerik:RadNumericTextBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="MinDollar" HeaderText="Min Dollar"> <ItemTemplate> <asp:Label ID="lblMinDollar" Text='<%# Eval("MinDollar") %>' runat="server" /> </ItemTemplate> <EditItemTemplate> <telerik:RadNumericTextBox ID="rntbMinDollar" runat="server" > <NumberFormat DecimalDigits="2" /> </telerik:RadNumericTextBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="SpiffDescription" > <ItemTemplate> <asp:Label ID="lblSpiffDescription" Text='<%# Eval("SpiffDescription") %>' runat="server" /> </ItemTemplate> <EditItemTemplate> <telerik:RadTextBox ID="rtbSpiffDescription" Text='<%# Eval("SpiffDescription") %>' Width="500px" runat="server"> </telerik:RadTextBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridButtonColumn UniqueName="DeleteColumn" CommandName="Delete" Text="Delete" /></Columns>Protected Sub rgSpiffDetail_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgSpiffDetail.ItemCommand Dim TableName, CommandName As String Dim gcItem As GridCommandItem = Nothing Dim gefiItem As GridEditFormInsertItem = Nothing Dim geItem As GridEditableItem = Nothing Dim gdItem As GridDataItem = Nothing Dim gefItem As GridEditFormItem = Nothing Dim gdSpiff, gdVendor As GridDataItem Dim SpiffID, ItemID As Integer Dim rlbItems As RadListBox = Nothing Dim ws As CommonFunctions = Nothing CommandName = e.CommandName Select Case CommandName Case "InitInsert" gcItem = DirectCast(e.Item, GridCommandItem) TableName = gcItem.OwnerTableView.Name If TableName = "Items" Then gdSpiff = e.Item.OwnerTableView.ParentItem gdVendor = gdSpiff.OwnerTableView.ParentItem VendorID = gdVendor.OwnerTableView.DataKeyValues(gdVendor.ItemIndex)("VendorID") End If Case "PerformInsert" If TypeOf e.Item Is GridEditFormInsertItem Then gefiItem = DirectCast(e.Item, GridEditFormInsertItem) TableName = gefiItem.OwnerTableView.Name If TableName = "Spiffs" Then InsertSpiff(gefiItem) ElseIf TableName = "Items" Then gdSpiff = e.Item.OwnerTableView.ParentItem SpiffID = gdSpiff.OwnerTableView.DataKeyValues(gdSpiff.ItemIndex)("SpiffID") geItem = DirectCast(e.Item, GridEditableItem) rlbItems = CType(geItem.Cells(1).FindControl("rlbItems"), RadListBox) If rlbItems.SelectedItems.Count > 1 Then ApplyMultipleSelections(SpiffID, rlbItems) Else ItemID = rlbItems.SelectedValue ws = New CommonFunctions ws.ApplyItemtoSpiff(SpiffID, ItemID) End If End If End If Case "Delete" gdItem = DirectCast(e.Item, GridDataItem) TableName = gdItem.OwnerTableView.Name If TableName = "Items" Then ItemID = CInt(gdItem.OwnerTableView.DataKeyValues(gdItem.ItemIndex)("ItemID")) SpiffID = CInt(gdItem.OwnerTableView.DataKeyValues(gdItem.ItemIndex)("SpiffID")) ws = New CommonFunctions ws.DecoupleItemFromSpiff(ItemID, SpiffID) ElseIf TableName = "Spiffs" Then SpiffID = CInt(gdItem.OwnerTableView.DataKeyValues(gdItem.ItemIndex)("SpiffID")) ws = New CommonFunctions ws.DeleteSpiffDetail(SpiffID) End If Case "Update" If TypeOf e.Item Is GridEditFormItem Then gefItem = DirectCast(e.Item, GridEditFormItem) TableName = gefItem.OwnerTableView.Name If TableName = "Spiffs" Then UpdateSpiff(gefItem) End If End If End SelectEnd SubPrivate Sub InsertSpiff(ByVal gefiItem As GridEditFormInsertItem) Dim txtSeq, txtCaseDollarItem As TextBox Dim rntbCashBack, rntbQtytoOrder, rntbDollartoOrder, _ rntbMinQty, rntbMinDollar As RadNumericTextBox Dim chkAllorByItem As CheckBox = Nothing Dim tcSpiffDescription As TableCell = Nothing Dim rtbSpiffDescription As RadTextBox = Nothing Dim Seq, QtytoOrder, MinQty, VendorID, SpiffID As Integer Dim CashBack, DollartoOrder, MinDollar As Double Dim CaseDollarItem, AllorByItem As Char Dim SpiffDescription As String = String.Empty Dim gdVendor As GridDataItem Dim ws As CommonFunctions = Nothing gdVendor = gefiItem.OwnerTableView.ParentItem VendorID = gdVendor.OwnerTableView.DataKeyValues(gdVendor.ItemIndex)("VendorID") txtSeq = DirectCast(gefiItem("Seq").Controls(0), TextBox) rntbCashBack = DirectCast(gefiItem("CashBack").Controls(1), RadNumericTextBox) txtCaseDollarItem = DirectCast(gefiItem("CaseDollarItem").Controls(0), TextBox) chkAllorByItem = DirectCast(gefiItem("AllorByItem").Controls(0), CheckBox) rntbQtytoOrder = DirectCast(gefiItem("QtytoOrder").Controls(1), RadNumericTextBox) rntbDollartoOrder = DirectCast(gefiItem("DollartoOrder").Controls(1), RadNumericTextBox) rntbMinQty = DirectCast(gefiItem("MinQty").Controls(1), RadNumericTextBox) rntbMinDollar = DirectCast(gefiItem("MinDollar").Controls(1), RadNumericTextBox) tcSpiffDescription = gefiItem.Cells(1) rtbSpiffDescription = DirectCast(tcSpiffDescription.FindControl("rtbSpiffDescription"), RadTextBox) If txtCaseDollarItem.Text = "I" _ Or txtCaseDollarItem.Text = "C" _ Or txtCaseDollarItem.Text = "D" Then Else Exit Sub End If If txtSeq.Text.Trim = String.Empty Then Seq = 0 Else Seq = CInt(txtSeq.Text) End If CashBack = rntbCashBack.Value CaseDollarItem = CType(txtCaseDollarItem.Text, Char) AllorByItem = IIf(chkAllorByItem.Checked, "A", "I") QtytoOrder = CInt(NullableValue(rntbQtytoOrder)) DollartoOrder = NullableValue(rntbDollartoOrder) MinQty = CInt(NullableValue(rntbMinQty)) MinDollar = NullableValue(rntbMinDollar) SpiffDescription = rtbSpiffDescription.Text ws = New CommonFunctions SpiffID = ws.InsertSpiffDetail(VendorID, Seq, SpiffDescription, _ CashBack, AllorByItem, CaseDollarItem, QtytoOrder, DollartoOrder, _ MinQty, MinDollar)End SubPrivate Sub UpdateSpiff(ByVal gefItem As GridEditFormItem) Dim txtSeq, txtCaseDollarItem As TextBox Dim rntbCashBack, rntbQtytoOrder, rntbDollartoOrder, _ rntbMinQty, rntbMinDollar As RadNumericTextBox Dim tcSpiffDescription As TableCell = Nothing Dim rtbSpiffDescription As RadTextBox = Nothing Dim chkAllorByItem As CheckBox = Nothing Dim Seq, QtytoOrder, MinQty, SpiffID As Integer Dim CashBack, DollartoOrder, MinDollar As Double Dim CaseDollarItem, AllorByItem As Char Dim SpiffDescription As String = String.Empty Dim ws As CommonFunctions = Nothing txtSeq = DirectCast(gefItem("Seq").Controls(0), TextBox) rntbCashBack = DirectCast(gefItem("CashBack").Controls(1), RadNumericTextBox) txtCaseDollarItem = DirectCast(gefItem("CaseDollarItem").Controls(0), TextBox) chkAllorByItem = DirectCast(gefItem("AllorByItem").Controls(0), CheckBox) rntbQtytoOrder = DirectCast(gefItem("QtytoOrder").Controls(1), RadNumericTextBox) rntbDollartoOrder = DirectCast(gefItem("DollartoOrder").Controls(1), RadNumericTextBox) rntbMinQty = DirectCast(gefItem("MinQty").Controls(1), RadNumericTextBox) rntbMinDollar = DirectCast(gefItem("MinDollar").Controls(1), RadNumericTextBox) tcSpiffDescription = gefItem.Cells(1) rtbSpiffDescription = DirectCast(tcSpiffDescription.FindControl("rtbSpiffDescription"), RadTextBox) SpiffID = CInt(gefItem.OwnerTableView.DataKeyValues(gefItem.ItemIndex)("SpiffID")) If txtSeq.Text.Trim = String.Empty Then Seq = 0 Else Seq = CInt(txtSeq.Text) End If CashBack = rntbCashBack.Value CaseDollarItem = CType(txtCaseDollarItem.Text, Char) AllorByItem = IIf(chkAllorByItem.Checked, "A", "I") QtytoOrder = CInt(NullableValue(rntbQtytoOrder)) DollartoOrder = NullableValue(rntbDollartoOrder) MinQty = CInt(NullableValue(rntbMinQty)) MinDollar = NullableValue(rntbMinDollar) SpiffDescription = rtbSpiffDescription.Text ws = New CommonFunctions ws.UpdateSpiffDetail(SpiffID, Seq, SpiffDescription, CashBack, _ AllorByItem, CaseDollarItem, QtytoOrder, DollartoOrder, _ MinQty, MinDollar)End SubI explicitly tease out the control from the table cell, and use a different object for Inserts and Updates
hope this helps
I am not quite sure about the requirement. Please make sure that the GetPrice method is called after the Editform is rendered.
Take a look into the following thread which discussed similar scenario.
find control on item command in Radgrid.
Thanks,
Shinu.
Hi ,
I am having the same issue. With batch editing, would like to calculate and update the radtextbox in one column based on text changed event of another radtextbox. While doing this not able to access the to be updated radtextbox on text changed event.
I had used two approaches as listed in cs file but in bot cases its not detecting the second radtextbox.
I am Using 2015 Q2 dlls.
​ASPX:
<telerik:RadGrid ID="GridItems" runat="server" AllowAutomaticInserts="false" AllowAutomaticUpdates="false" AllowAutomaticDeletes="false" pageSize="20" Skin="Office2007" EnableEmbeddedSkins="true"
AutoGenerateColumns="false" CellSpacing="0" AllowPaging="true" AllowCustomPaging="true" AllowSorting="true" ShowGroupPanel="false" OnItemDataBound="GridItems_ItemDataBound"
AllowMultiRowSelection="false" AllowMultiRowEdit="false" MasterTableView-PagerStyle-AlwaysVisible="false" OnNeedDataSource="GridItems_NeedDataSource" OnItemCommand="GridItems_ItemCommand"
OnSortCommand ="GridItems_SortCommand" OnUpdateCommand="GridItems_UpdateCommand" OnEditCommand="GridItems_EditCommand" OnItemCreated="GridItems_ItemCreated" AllowFilteringByColumn="true" >
<ClientSettings AllowColumnsReorder="false" AllowDragToGroup="false" EnableRowHoverStyle="true" AllowKeyboardNavigation="true">
<Scrolling AllowScroll="false" UseStaticHeaders="true" SaveScrollPosition="true" ScrollHeight="500px" ></Scrolling>
<Selecting AllowRowSelect="true" />
<Resizing AllowColumnResize="True" ResizeGridOnColumnResize="true"
ClipCellContentOnResize="true" EnableRealTimeResize="false" AllowResizeToFit="true" />
<ClientEvents OnFilterMenuShowing="filterMenuShowing" />
</ClientSettings>
<FilterMenu OnClientShowing="MenuShowing" />
<GroupingSettings CaseSensitive="false"/>
<PagerStyle Mode="NextPrevAndNumeric" Position="Bottom" ></PagerStyle>
<MasterTableView DataKeyNames="CountEventId,BusinessUnit,StorageArea,ItemNumber" ClientDataKeyNames="CountEventId,BusinessUnit,StorageArea,ItemNumber" CommandItemDisplay="Top" TableLayout="Fixed" Width="100%" EditMode="Batch" BatchEditingSettings-EditType="Cell" >
<CommandItemTemplate>
<table style="width: 100%">
<tr>
<td>
</td>
<td >
<table style="float: right; vertical-align: top; padding-right: 10px">
<tr>
<td>
<asp:Button ID="btnSaveCount" runat="server" Text="Save Count Data" TextAlign="Right" AutoPostBack="true" OnClick="btnSaveCount_Click"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</CommandItemTemplate>
<ItemStyle Wrap="true" />
<HeaderStyle Wrap="true" />
<Columns>
<telerik:GridTemplateColumn HeaderText="#" UniqueName="RowNumber" Visible="false">
<ItemTemplate>
<asp:Label runat="server" ID="lblRowNumber" Width="50px" Text='<%# Container.DataSetIndex+1 %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Select" UniqueName="Rep01" AllowFiltering="false" HeaderStyle-Width="50px">
<HeaderTemplate>
<asp:CheckBox runat="server" value="check" id="checkbox" onclick="CheckAll(this);" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" AutoPostBack="false" Width="5%" ID="checkbox2" />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="CountEventId" UniqueName="CountEventId" Display="false" />
<telerik:GridBoundColumn DataField="BusinessUnit" UniqueName="BusinessUnit" DataType="System.String" HeaderText="IBU" SortExpression="BusinessUnit" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" FilterControlWidth="52px" ReadOnly="true" HeaderStyle-Width="95px"/>
<telerik:GridBoundColumn DataField="StorageArea" UniqueName="StorageArea" DataType="System.String" HeaderText="Area" SortExpression="StorageArea" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" FilterControlWidth="52px" ReadOnly="true" HeaderStyle-Width="95px"/>
<telerik:GridBoundColumn DataField="level1" UniqueName="level1" DataType="System.String" HeaderText="Level 1" SortExpression="level1" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" FilterControlWidth="52px" ReadOnly="true" HeaderStyle-Width="95px" />
<telerik:GridBoundColumn DataField="level2" UniqueName="level2" DataType="System.String" HeaderText="Level 2" SortExpression="level2" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" FilterControlWidth="52px" ReadOnly="true" HeaderStyle-Width="95px" />
<telerik:GridBoundColumn DataField="level3" UniqueName="level3" DataType="System.String" HeaderText="Level 3" SortExpression="level3" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" FilterControlWidth="52px" ReadOnly="true" HeaderStyle-Width="95px" />
<telerik:GridBoundColumn DataField="level4" Display="false" DataType="System.String" UniqueName="level4" HeaderText="Level 4" SortExpression="level4" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" FilterControlWidth="52px" ReadOnly="true" />
<telerik:GridBoundColumn DataField="ItemNumber" UniqueName="ItemNumber" DataType="System.String" HeaderText="Item ID" SortExpression="ItemNumber" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" FilterControlWidth="50px" ReadOnly="true" HeaderStyle-Width="95px" />
<telerik:GridBoundColumn DataField="ItemDescription" UniqueName="description" HeaderText="Description" SortExpression="ItemDescription" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="80px" />
<telerik:GridBoundColumn DataField="UnitOfMeasure" UniqueName="uom" HeaderText="UOM" SortExpression="UnitOfMeasure" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="70px"/>
<telerik:GridBoundColumn DataField="OEMPartNo" UniqueName="oempartnumber" HeaderText="OEM</br>Part #" SortExpression="OEMPartNo" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="60px"/>
<telerik:GridBoundColumn DataField="OEM" UniqueName="oemname" HeaderText="OEM" SortExpression="OEM" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="60px" />
<telerik:GridBoundColumn DataField="LastCountedBy" UniqueName="LastCountedBy" HeaderText="Last Count</br>By" SortExpression="LastCountedBy" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="70px"/>
<telerik:GridDateTimeColumn DataField="startCountDate" AllowFiltering="false" UniqueName="startCountDate" DataFormatString="{0:MM/dd/yyyy}" DataType="System.DateTime" HeaderText="Last Count</br>Date" SortExpression="startCountDate" HeaderStyle-Width="70px"
HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign ="Middle" ReadOnly="true"></telerik:GridDateTimeColumn>
<telerik:GridDateTimeColumn DataField="LastCountDate" AllowFiltering="false" UniqueName="lastCountDate" DataFormatString="{0:MM/dd/yyyy}" DataType="System.DateTime" HeaderText="Start Count</br>Date"
SortExpression="LastCountDate" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="70px"></telerik:GridDateTimeColumn>
<telerik:GridTemplateColumn UniqueName="countqty" HeaderText="Count<br>Qty" SortExpression="countqty" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" HeaderStyle-Width="50px">
<EditItemTemplate>
<telerik:RadTextBox ID="txtboxqty" runat="server" Text='<%# Convert.ToInt64(Eval("countqty")) > 0 ? Eval("countqty") : "" %>' AutoPostBack="true" OnTextChanged="txtboxqty_TextChanged" onkeypress="return isValidNumber(event)" MaxLength="9" Width="50px">
</telerik:RadTextBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="AllocatedQty" AllowFiltering="false" UniqueName="AllocatedQty" DataType="System.Decimal" HeaderText="WIN </br> Allocated" SortExpression="AllocatedQty" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="60px"/>
<telerik:GridBoundColumn DataField="totalcount" UniqueName="totalcount" HeaderText="Total </br> Count" SortExpression="totalcount" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="70px"/>
<telerik:GridBoundColumn DataField="QtyOnHand" UniqueName="QtyOnHand" HeaderText="PS </br> on Hand" SortExpression="QtyOnHand" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="70px"/>
<telerik:GridBoundColumn DataField="OnOrder" UniqueName="OnOrder" HeaderText="On Order Qty" SortExpression="OnOrder" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="70px"/>
<telerik:GridTemplateColumn DataField="discrepancy" UniqueName="Discrepancy" HeaderText="Discrepancy" SortExpression="Discrepancy" AllowFiltering="false" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign ="Middle" HeaderStyle-Width="90px">
<EditItemTemplate>
<telerik:RadTextBox ID="txtboxdisp" Text= '<%# Convert.ToInt64(Eval("discrepancy")) > 0 ? Eval("discrepancy") : "" %>' runat="server" onkeypress="return isValidNumber(event)" MaxLength="9" Width="90px">
</telerik:RadTextBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridNumericColumn
DataField="AverageCost" AllowFiltering="false" NumericType="Currency" UniqueName="AverageCost" DataType="System.Decimal" HeaderText="Avg. Cost" SortExpression="AverageCost" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign ="Middle" ReadOnly="true" HeaderStyle-Width="80px">
</telerik:GridNumericColumn>
</Columns>
<NoRecordsTemplate>
<div>
No Records To Display
</div>
</NoRecordsTemplate>
</MasterTableView>
</telerik:RadGrid>
AXPX.CS:
protected void txtboxqty_TextChanged(object sender, EventArgs e)
{
RadTextBox txtqtycount = sender as RadTextBox;
//Approach 1
foreach (GridEditableItem item in GridItems.EditItems)
{
RadTextBox txtAmount = item.FindControl("txtboxdisp") as RadTextBox;
txtAmount.Text = "ABCTEst";
}
//Approach 2
foreach (GridItem grditem in GridItems.MasterTableView.Items)
{
if (grditem.Selected)
{
RadTextBox txtAmount = grditem.FindControl("txtboxdisp") as RadTextBox;
//txtAmount.Text = "TEST";
int totCount = !string.IsNullOrEmpty(grditem.Cells[16].Text) ? Convert.ToInt16(grditem.Cells[16].Text) : 0;
}
}
}
With Batch Editing there will be no editors in the items, because with that edit mode, only one editor is generated for the entire column and that editor is moved along the edited cells. Furthermore, since this is a client-side oriented editing, if you have an editor that will initiate a postback, all the changes in the grid will be lost, so if you need to perform some operations on the other cells you will have to use the BatchEditingManager.
Detailed information on the available methods of BatchEditingManager could be found in the following help article:
Hope this helps.
Regards,
Konstantin Dikov
Telerik
