Hello,
I am trying to work with an editable grid where an item goes into edit mode with a double click and the updates are done in batch. The code is based loosely on the batch update sample project at http://www.telerik.com/help/aspnet-ajax/grdperformingbatchupdates.html.
When I edit an item and make changes, then double click another item to edit, the data chagned for the first item is lost. Is there a way to preserve the data and keep it displayed on the screen.
Thanks in advance!
function
RowDblClicked(sender, eventArgs) {
var masterTable = $find("<%= RadGrid1.MasterTableView.ClientID %>");
var selItem = masterTable.get_selectedItems()[0];
if (selItem) {
masterTable.editItem(selItem.get_element());
}
}
<
telerik:RadGrid AllowMultiRowEdit="true" AllowMultiRowSelection="false"
ID
="RadGrid1" runat="server" OnItemCommand="RadGrid1_ItemCommand" >
<MasterTableView DataKeyNames="OrderID,ProductID" CommandItemDisplay="Top" EditMode="InPlace">
CommandItemTemplate>
<asp:LinkButton ID="LinkButton1" CommandName="UpdateChanges" runat="server">Update all</asp:LinkButton>
</CommandItemTemplate>
</MasterTableView>
<ClientSettings>
<
Selecting AllowRowSelect="True"></Selecting>
<ClientEvents OnRowDblClick="RowDblClicked" />
</ClientSettings>
</
telerik:RadGrid>
| MethodInfo mi = this.Page.GetType().GetMethod("DataBindControle", BindingFlags.Public | BindingFlags.Instance); |
| mi.Invoke(this.Page, new Object[] { 0 }); |
| <ItemTemplate> |
| <asp:UpdatePanel UpdateMode="Conditional" ID="UpdTeste" runat="server" RenderMode="Inline"> |
| <ContentTemplate> |
| <asp:Panel id="pnlInfo" runat="server" style="padding: 4px 0px 4px 0px; height: 18px; vertical-align: middle;"> |
| <div class="info_row" style="padding: 0px 0px 0px 10px; width: 20px; vertical-align: middle; text-transform: uppercase;"><asp:ImageButton ID="imgDetails" runat="server" ImageUrl="~/images/btn_detail.gif" CommandName="Edit" CommandArgument='<%# Eval("controle_id") %>' style="cursor: pointer;" /></div> |
| <div class="info_row" style="padding: 4px 0px 4px 0px; width: 130px; vertical-align: middle; text-transform: uppercase;"><b><%# Eval("controledata")%></b></div> |
| <div class="info_row" style="padding: 4px 0px 4px 0px; width: 220px; vertical-align: middle; text-transform: uppercase;"><b><%# Eval("controledescricao_nome")%></b></div> |
| <div class="info_row" style="padding: 4px 0px 4px 0px; width: 100px; vertical-align: middle; text-transform: uppercase;"><b><%# Eval("controle_horainicio")%></b></div> |
| <div class="info_row" style="padding: 4px 0px 4px 0px; width: 100px; vertical-align: middle; text-transform: uppercase;"><b><%# Eval("controle_horafinal") %></b></div> |
| <div class="info_row" style="padding: 4px 0px 4px 0px; width: 240px; vertical-align: middle; text-transform: uppercase;"><b><%# Eval("advogado_nome") %></b></div> |
| </asp:Panel> |
| <div class="table_footer"/> |
| <ControleControl:ControleControl ID="ctlDetail" Value="0" runat="server" Visible="false" /> |
| </ContentTemplate> |
| </asp:UpdatePanel> |
| </ItemTemplate> |
| protected void grd_ItemDataBound(object sender, Telerik.WebControls.GridItemEventArgs e) |
| { |
| ddl.DataBinding += new EventHandler(ddl_DataBinding); |
| } |
| void ddl_DataBinding(object sender, EventArgs e) |
| { |
| try |
| { |
| DropDownList ddl = (DropDownList)sender; |
| possibleTargetOutcome = RetrieveData(); |
| ddl.DataSource = possibleTargetOutcome; |
| ddl.DataTextField = "DisplayText"; |
| ddl.DataValueField = "InputValue"; |
| ddl.DataBind(); |
| } |
| catch(Exception ex) |
| { |
| lblErrorMessage.Text = ex.Message; |
| } |
| } |
<telerik:RadGrid ID="GridBudget" runat="server" GridLines="None" Skin="Default" AllowCustomPaging="True"
ShowHeader="true" ShowFooter="true" AutoGenerateColumns="False" Width="100%"
OnItemDataBound="GridBudget_ItemDataBound">
<PagerStyle NextPageText="&gt;" PrevPageText="&lt;" />
<MasterTableView AllowCustomSorting="true" NoMasterRecordsText="Listelenecek rn bulunamad."
GroupLoadMode="Client" CellSpacing="-1">
<Columns>
<telerik:GridBoundColumn DataField="cID" HeaderText="ID" SortExpression="BUDGET.ID"
Display="false" HeaderStyle-HorizontalAlign="Center" UniqueName="BUDGET.ID" DataType="System.Int32"
Visible="false">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="BUDGET_NAME" HeaderText="BšT€E ADI" SortExpression="BUDGET.NAME"
HeaderStyle-HorizontalAlign="Center" UniqueName="BUDGET.NAME" DataType="System.String">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="TOTAL" HeaderStyle-HorizontalAlign="Center"
UniqueName="EnterBudgetTemplate">
<ItemTemplate>
<telerik:RadNumericTextBox ID="txtTotal" runat="server" Culture="Turkish (Turkey)"
InvalidStyleDuration="100" MinValue="0" Type="Currency" Value="0" Width="100px">
<NumberFormat NegativePattern="-n" PositivePattern="n" />
<ClientEvents OnValueChanged="GridNumericChanged" />
</telerik:RadNumericTextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="JANUARY HeaderStyle-HorizontalAlign="Center"
DataField="MONTH1" UniqueName="M1_TEMPLATE">
<ItemTemplate>
<telerik:RadNumericTextBox ID="txtM1" runat="server" Culture="Turkish (Turkey)" InvalidStyleDuration="100"
MinValue="0" Type="Currency" Value="0" Width="75px">
<NumberFormat NegativePattern="-n" PositivePattern="n" />
</telerik:RadNumericTextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="FEBRUARY" HeaderStyle-HorizontalAlign="Center"
.
.
.
and i have 12 months like these in columns.
and when user write a value in 'txtTotal' textboxes . i need to calculate a value per month and set them via javascript
function GridNumericChanged()
{
var grid = $find("<%=GridBudget.ClientID %>");
var MasterTable = grid.get_masterTableView();
var Rows = MasterTable.get_dataItems();
for (var i = 0; i < Rows.length; i++)
{
var row = Rows[i];
...??
}
can anybody help me for reach template column and cells from client side.
thank you.
'renders as percent or count depending on choice in 1stSelectType
Dim s As ChartSeries = trcRadChart.Series.GetSeries(intInnerLoopCount)
Select Case lstSelectFormat.SelectedIndex
Case 0
s.DefaultLabelValue = "#%"
Exit Select
Case 1
s.DefaultLabelValue = "#Y"
Exit Select
End Select
My user want the percent calculated based upon the grouping on the xaxis - is there an easy way to do this?.
<script language="javascript" type="text/javascript">
function onSelectedIndexChanged(sender, args)
{
alert(
"Selected index changed");
}
</script>
<table cellpadding="2" cellspacing="2" border="0" class="TableBorder" width="100%">
<tr valign="top">
<td style="width: 105px">
</td>
<td class="clsLabel">
<asp:Label id="lblExisting" runat="server" text="<%$ Resources:pageLabels, lblExistingPlans %>" CssClass="clsLabel"></asp:Label>
</td>
<td style="width: 100px"> </td>
</tr>
<tr valign="top">
<td style="width: 105px"> </td>
<td>
<telerik:RadListBox ID="lstExistingPlans" runat="server" Width="763px" Height="250px" CssClass="clsLable" Skin="Office2007" OnClientSelectedIndexChanged="onSelectedIndexChanged()"></telerik:RadListBox>
</td>
<td style="width: 100px"> </td>
</tr>
<tr valign="top">
<td style="width: 105px"> </td>
<td class="clsLabel">
<asp:Label id="lblAvailable" runat="server" text="<%$ Resources:pageLabels, lblAvailablePlans %>" CssClass="clsLabel"></asp:Label>
</td>
<td style="width: 100px"> </td>
</tr>
<tr valign="top">
<td style="width: 105px"> </td>
<td>
<telerik:RadListBox ID="lstAvailablePlans" runat="server" Width="763px" Height="250px" CssClass="clsLable" Skin="Office2007" AutoPostBack="true"></telerik:RadListBox>
</td>
<td style="width: 100px"> </td>
</tr>
</table>
Now the problem is this client side event fires on each postback but when I click on the listbox on which i have written the client side event its not working instead its throwing a javascript error as.
"Error: a[b] is not a function
Source File: http://localhost/Kam.Web/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ContentPlaceHolder1_ScriptManager1_HiddenField&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d1.0.61025.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a1f0f78f9-0731-4ae9-b308-56936732ccb8%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2009.2.701.20%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3affafc724-e959-4dca-aca2-eeb92fdb8ca6%3a16e4e7cd%3a874f8ea2%3af7645509%3a24ee1bba%3a19620875%3a33108d14%3abd8f85e4%3ae330518b%3a1e771326%3ac8618e41%3aaa288e2d%3a58366029%3ab7778d6c%3ae085fe68%3a8674cba1%3ac08e9f8a%3aa51ee93e%3a59462f1%3a2bef5fcc%3bAjaxControlToolkit%2c+Version%3d1.0.10301.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d28f01b0e84b6d53e%3aen-US%3a9b0dcc70-5e43-4d30-b6d6-3ed8d0eb217f%3ab14bb7d5%3a755018fe%3a13f47f54%3a35ff259d%3ab80820f8
Line: 6"
Kindly advise.
Regards,
Santhosh