Afternoon Telerik Team,
I have a need to update telerik radgrid specific columns in a row client side.
I set my events in the item created event as shown below (simplified version) and that works as expected.
I then get the client value also correctly, now I need to update this value...there is not SetDataKeyValue of the item available and I cannot find a method on the object (client side) to achieve this.
Should I perhaps use the DataItem client side that I send when attaching the attributes server side to the object to achieve this, if so, then how ?
Can you please assist in the matter ?
Your help is much appreciated.
| function Validate(control, denominator) { |
| var firstDataItem = $find("<%=rgCoinBox.ClientID %>").get_masterTableView().get_dataItems()[0]; |
| alert(firstDataItem.getDataKeyValue("Heading")); |
| } |
| protected void rgCoinBox_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) |
| { |
| if (e.Item is GridEditableItem) |
| { |
| //(e.Item as GridEditableItem).Edit = true; |
| switch (e.Item.RowIndex) |
| { |
| case 3: |
| e.Item.Attributes.Add("onFocusout", "return Validate('" + e.Item.UniqueID + "','1')"); |
| break; |
| default: |
| break; |
| } |
| } |
| } |
| <telerik:GridTemplateColumn HeaderText="Arrival" SortExpression="TimeArrival" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" AllowFiltering="false"> |
| <ItemTemplate> |
| <asp:CheckBox ID="chkTimeArrival" runat="server" AutoPostBack="True" OnCheckedChanged="chkTimeArrival_CheckedChanged"/> |
| <asp:Label ID="lblTimeArrival" runat="server" Text='<%# Bind("TimeArrival") %>'></asp:Label> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| Protected Sub chkTimeArrival_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) |
| End Sub |
<telerik:GridBoundColumn DataField="AppID" UniqueName="AppID" Visible="false"></telerik:GridBoundColumn>
<
MasterTableView DataKeyNames="AppID">
Andy
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" EnableOutsideScripts="true" |
| EnableAJAX="true"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadComboxBox1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadComboxBox1" /> |
| <telerik:AjaxUpdatedControl ControlID="RadListBox1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="CheckBox1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="CheckBox1" /> |
| <telerik:AjaxUpdatedControl ControlID="RadListBox1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadComboBox ID="RadComboBox1" runat="server" DataSourceID="datasource1" AllowCustomText="true" DataTextField="Text" DataValueField="Value" Width="250px" AppendDataBoundItems="true" EmptyMessage="All Items" ZIndex="10000000" HighlightTemplatedItems="true" TabIndex="1" Skin="Outlook"> |
| <ItemTemplate> |
| <div onclick="stopPropagation(event);"> |
| <asp:CheckBox runat="server" ID="CheckBox1" OnCheckedChanged="CheckBox1_OnCheckedChanged" AutoPostBack="true" Text='<%# DataBinder.Eval(Container, "Text") %>' /> |
| </div> |
| </ItemTemplate> |
| </telerik:RadComboBox> |
| public partial class _Default : System.Web.UI.Page |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| LoadData(); |
| } |
| private void LoadData() |
| { |
| SqlConnection SqlConn = new SqlConnection("uid=tempuser;password=tempuser;data source=USWASHL10015\\SQLEXPRESS;database=CCOM;"); |
| SqlCommand cmd = new SqlCommand(); |
| cmd.Connection = SqlConn; |
| cmd.CommandType = CommandType.StoredProcedure; |
| cmd.CommandText = "usp_testing"; |
| SqlDataAdapter da = new SqlDataAdapter(cmd); |
| DataSet ds = new DataSet(); |
| da.Fill(ds); |
| RadGrid1.DataSource = ds; |
| //RadGrid1.DataBind(); |
| //RadGrid1.ClientSettings.AllowDragToGroup = true; |
| } |
| protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) |
| { |
| LoadData(); |
| } |
| protected void RadGrid1_SortCommand(object source, Telerik.Web.UI.GridSortCommandEventArgs e) |
| { |
| LoadData(); |
| } |
| protected void RadioButtonList1_SelectedIndexChanged(object sender, System.EventArgs e) |
| { |
| switch (RadioButtonList1.SelectedValue) |
| { |
| case ("Swap"): |
| { |
| RadGrid1.ClientSettings.ColumnsReorderMethod = GridClientSettings.GridColumnsReorderMethod.Swap; |
| break; |
| }; |
| case ("Reorder"): |
| { |
| RadGrid1.ClientSettings.ColumnsReorderMethod = GridClientSettings.GridColumnsReorderMethod.Reorder; |
| break; |
| }; |
| } |
| } |
| protected void RadGrid1_ItemUpdated(object source, Telerik.Web.UI.GridUpdatedEventArgs e) |
| { |
| //if (e.Exception != null) |
| //{ |
| // e.KeepInEditMode = true; |
| // e.ExceptionHandled = true; |
| // SetMessage(Server.HtmlEncode("Unable to update Products. Reason: " + e.Exception.Message).Replace("'", "'").Replace("\r\n", "<br />")); |
| //} |
| //else |
| //{ |
| // GridDataItem dataItem = (GridDataItem)e.Item; |
| // SetMessage(" ProductID " + dataItem.GetDataKeyValue("ProductID") + " updated"); |
| //} |
| if (e.Exception != null) |
| { |
| e.KeepInEditMode = true; |
| e.ExceptionHandled = true; |
| DisplayMessage(true, "Employee " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " cannot be updated. Reason: " + e.Exception.Message); |
| } |
| else |
| { |
| DisplayMessage(false, "Employee " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " updated"); |
| } |
| } |
| protected void RadMenu1_ItemClick(object sender, RadMenuEventArgs e) |
| { |
| int radGridClickedRowIndex; |
| radGridClickedRowIndex = Convert.ToInt32(Request.Form["radGridClickedRowIndex"]); |
| switch (e.Item.Text) |
| { |
| case "Edit": |
| RadGrid1.Items[radGridClickedRowIndex].Edit = true; |
| RadGrid1.Rebind(); |
| break; |
| case "Add": |
| RadGrid1.MasterTableView.IsItemInserted = true; |
| RadGrid1.Rebind(); |
| break; |
| case "Delete": |
| RadGrid1.MasterTableView.PerformDelete(RadGrid1.Items[radGridClickedRowIndex]); |
| break; |
| } |
| } |
| protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e) |
| { |
| if (e.Exception != null) |
| { |
| e.ExceptionHandled = true; |
| e.KeepInInsertMode = true; |
| DisplayMessage(true, "Employee cannot be inserted. Reason: " + e.Exception.Message); |
| } |
| else |
| { |
| DisplayMessage(false, "Employee inserted"); |
| } |
| } |
| protected void RadGrid1_ItemDeleted(object source, GridDeletedEventArgs e) |
| { |
| if (e.Exception != null) |
| { |
| e.ExceptionHandled = true; |
| DisplayMessage(true, "Employee " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " cannot be deleted. Reason: " + e.Exception.Message); |
| } |
| else |
| { |
| DisplayMessage(false, "Employee " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " deleted"); |
| } |
| } |
| protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e) |
| { |
| if (e.CommandName == RadGrid.InitInsertCommandName) //"Add new" button clicked |
| { |
| GridEditCommandColumn editColumn = (GridEditCommandColumn)RadGrid1.MasterTableView.GetColumn("EditCommandColumn"); |
| editColumn.Visible = false; |
| } |
| else if (e.CommandName == RadGrid.RebindGridCommandName && e.Item.OwnerTableView.IsItemInserted) |
| { |
| e.Canceled = true; |
| } |
| else |
| { |
| GridEditCommandColumn editColumn = (GridEditCommandColumn)RadGrid1.MasterTableView.GetColumn("EditCommandColumn"); |
| if (!editColumn.Visible) |
| editColumn.Visible = true; |
| } |
| } |
| protected void Page_PreInit(object sender, EventArgs e) |
| { |
| ConfigureGrid(); |
| CheckBox1.Checked = Convert.ToBoolean(EnableGridViewState); |
| } |
| public bool EnableGridViewState |
| { |
| get |
| { |
| bool? result = (bool?)Session["EnableGridViewState"]; |
| return result.GetValueOrDefault(); |
| } |
| set |
| { |
| Session["EnableGridViewState"] = value; |
| } |
| } |
| public void ConfigureGrid() |
| { |
| RadGrid1.EnableViewState = EnableGridViewState; |
| } |
| protected override void Render(HtmlTextWriter writer) |
| { |
| this.Label1.Text = "<b>RadGrid</b>'s ViewState size is " + RadGrid1.ViewStateSize + " bytes"; |
| base.Render(writer); |
| } |
| protected void CheckBox1_CheckedChanged(object sender, EventArgs e) |
| { |
| EnableGridViewState = Convert.ToBoolean((sender as CheckBox).Checked); |
| Response.Redirect(Request.CurrentExecutionFilePath); |
| } |
| protected void RadGrid1_PreRender(object sender, EventArgs e) |
| { |
| if (RadGrid1.EditIndexes.Count > 0 || RadGrid1.MasterTableView.IsItemInserted) |
| { |
| GridColumn col1 = RadGrid1.MasterTableView.GetColumn("EditCommandColumn") as GridColumn; |
| col1.Visible = true; |
| } |
| else |
| { |
| GridColumn col2 = RadGrid1.MasterTableView.GetColumn("EditCommandColumn") as GridColumn; |
| col2.Visible = false; |
| } |
| if (!Page.IsPostBack) |
| { |
| RadGrid1.EditIndexes.Add(0); |
| RadGrid1.Rebind(); |
| } |
| } |
| private void DisplayMessage(bool isError, string text) |
| { |
| Label label = (isError) ? this.Label1 : this.Label2; |
| label.Text = text; |
| } |
| aspx code |
| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head id="Head1" runat="server"> |
| <title>Telerick Controls</title> |
| <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> |
| <script type="text/javascript"> |
| <!-- |
| function ReorderOrSwapFirstAndLastColumn() { |
| var ddlFirstColumnList = $get("ddlFirstColumnList"); |
| var ddlLastColumnList = $get("ddlLastColumnList"); |
| var tableView = $find("<%=RadGrid1.MasterTableView.ClientID %>"); |
| var firstColumnName = tableView.getColumnByUniqueName(ddlFirstColumnList.options[ddlFirstColumnList.selectedIndex].value).get_uniqueName(); |
| var lastColumnName = tableView.getColumnByUniqueName(ddlLastColumnList.options[ddlLastColumnList.selectedIndex].value).get_uniqueName(); |
| if (document.getElementById("RadioButtonList1_1").checked) { |
| tableView.reorderColumns(lastColumnName, firstColumnName); |
| } |
| else { |
| tableView.swapColumns(lastColumnName, firstColumnName); |
| } |
| } |
| function onGridCreated() { |
| LoadColumnsLists(); |
| } |
| function LoadColumnsLists() { |
| var ddlFirstColumnList = $get("ddlFirstColumnList"); |
| var ddlLastColumnList = $get("ddlLastColumnList"); |
| ddlFirstColumnList.options.length = 0; |
| ddlLastColumnList.options.length = 0; |
| var tableView = $find("<%=RadGrid1.MasterTableView.ClientID %>"); |
| if (ddlFirstColumnList && tableView && ddlLastColumnList) { |
| for (var i = 1; i < tableView.get_columns().length; i++) { |
| if (tableView.get_columns()[i].get_uniqueName() != "") { |
| ddlFirstColumnList.options[ddlFirstColumnList.options.length] = new Option(tableView.get_columns()[i].get_uniqueName(), tableView.get_columns()[i].get_uniqueName()); |
| ddlLastColumnList.options[ddlLastColumnList.options.length] = new Option(tableView.get_columns()[i].get_uniqueName(), tableView.get_columns()[i].get_uniqueName()); |
| } |
| } |
| ddlLastColumnListddlLastColumnList.selectedIndex = ddlLastColumnList.options.length - 1; |
| ddlFirstColumnList.selectedIndex = 0; |
| } |
| } |
| --> |
| </script> |
| <script type="text/javascript"> |
| function RowContextMenu(sender, eventArgs) { |
| var menu = $find("<%=RadMenu1.ClientID %>"); |
| var evt = eventArgs.get_domEvent(); |
| if (evt.target.tagName == "INPUT" || evt.target.tagName == "A") { |
| return; |
| } |
| var index = eventArgs.get_itemIndexHierarchical(); |
| document.getElementById("radGridClickedRowIndex").value = index; |
| sender.get_masterTableView().selectItem(sender.get_masterTableView().get_dataItems()[index].get_element(), true); |
| menu.show(evt); |
| evt.cancelBubble = true; |
| evt.returnValue = false; |
| if (evt.stopPropagation) { |
| evt.stopPropagation(); |
| evt.preventDefault(); |
| } |
| } |
| </script> |
| <%--<script type="text/javascript"> |
| <!-- |
| var hasChanges, inputs, dropdowns, editedRow; |
| function RowClick(sender, eventArgs) |
| { |
| if (editedRow && hasChanges) |
| { |
| hasChanges = false; |
| if (confirm("Update changes?")) |
| { |
| $find("<%= RadGrid1.MasterTableView.ClientID %>").updateItem(editedRow); |
| } |
| } |
| } |
| function RowDblClick(sender, eventArgs) { |
| editedRow = eventArgs.get_itemIndexHierarchical(); |
| $find("<%= RadGrid1.MasterTableView.ClientID %>").editItem(editedRow); |
| } |
| function GridCommand(sender, args) |
| { |
| if (args.get_commandName() != "Edit") |
| { |
| editedRow = null; |
| } |
| } |
| function GridCreated(sender, eventArgs) |
| { |
| var gridElement = sender.get_element(); |
| var elementsToUse = []; |
| inputs = gridElement.getElementsByTagName("input"); |
| for (var i = 0; i < inputs.length; i++) |
| { |
| var lowerType = inputs[i].type.toLowerCase(); |
| if (lowerType == "hidden" || lowerType == "button") |
| { |
| continue; |
| } |
| Array.add(elementsToUse, inputs[i]); |
| inputs[i].onchange = TrackChanges; |
| } |
| dropdowns = gridElement.getElementsByTagName("select"); |
| for (var i = 0; i < dropdowns.length; i++) |
| { |
| dropdowns[i].onchange = TrackChanges; |
| } |
| setTimeout(function() { if (elementsToUse[0]) elementsToUse[0].focus(); }, 100); |
| } |
| function TrackChanges(e) |
| { |
| hasChanges = true; |
| } |
| --> |
| </script>--%> |
| <script type="text/javascript"> |
| function ShowColumnHeaderMenu(ev, columnName) { |
| var grid = $find("<%=RadGrid1.ClientID %>"); |
| //show the header context menu for the second column in the master table with 10 left/10 top offset |
| var columns = grid.get_masterTableView().get_columns(); |
| for (var i = 0; i < columns.length; i++) { |
| if (columns[i].get_uniqueName() == columnName) { |
| columns[i].showHeaderMenu(ev, 75, 20); |
| } |
| } |
| } |
| </script> |
| <script type="text/javascript"> |
| function RowDblClick(sender, eventArgs) { |
| sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical()); |
| } |
| </script> |
| </telerik:RadCodeBlock> |
| </head> |
| <body> |
| <h1> |
| Telerik Controls</h1> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> |
| <div> |
| <asp:Label ID="Label3" runat="server" Style="font-weight: bold; color: green"></asp:Label> |
| <br /> |
| <asp:CheckBox ID="CheckBox1" AutoPostBack="True" runat="server" Text="RadGrid's ViewState on/off" |
| OnCheckedChanged="CheckBox1_CheckedChanged" /> |
| </div> |
| <br /> |
| <div> |
| <asp:Label ID="Label1" runat="server" Text="Columns reorder method:"></asp:Label><br /> |
| <asp:RadioButtonList ID="RadioButtonList1" AutoPostBack="True" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" |
| RepeatLayout="Flow"> |
| <asp:ListItem Selected="True" Value="Swap">Swap</asp:ListItem> |
| <asp:ListItem Value="Reorder">Reorder (Insert)</asp:ListItem> |
| </asp:RadioButtonList> |
| </div> |
| <br /> |
| <select id="ddlFirstColumnList"> |
| <option value=""></option> |
| </select> |
| <select id="ddlLastColumnList"> |
| <option value=""></option> |
| </select> |
| <asp:Button ID="Button2" Text="Reorder or swap columns" OnClientClick="ReorderOrSwapFirstAndLastColumn(); return false;" |
| runat="server" /><br /> |
| Choose two columns to be reordered or swap. |
| <br /> |
| <div> |
| <p id="divMsgs" runat="server"> |
| <asp:Label ID="Label4" runat="server" EnableViewState="False" Font-Bold="True" ForeColor="#FF8080"></asp:Label> |
| <asp:Label ID="Label5" runat="server" EnableViewState="False" Font-Bold="True" ForeColor="#00C000"></asp:Label> |
| </p> |
| </div> |
| <br /> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGrid1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| <telerik:AjaxUpdatedControl ControlID="RadMenu1" /> |
| <telerik:AjaxUpdatedControl ControlID="divMsgs" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="RadMenu1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| <telerik:AjaxUpdatedControl ControlID="RadMenu1" /> |
| <telerik:AjaxUpdatedControl ControlID="divMsgs" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"> |
| <%--<asp:Image ID="Image1" runat="server" ImageUrl="~/Image1.gif"></asp:Image>--%> |
| </telerik:RadAjaxLoadingPanel> |
| <%-- <telerik:RadCodeBlock runat="server" ID="radCodeBlock"> |
| <script type="text/javascript"> |
| function showFilterItem() { |
| $find('<%=RadGrid1.ClientID %>').get_masterTableView().showFilterItem(); |
| } |
| function hideFilterItem() { |
| $find('<%=RadGrid1.ClientID %>').get_masterTableView().hideFilterItem(); |
| } |
| </script> |
| </telerik:RadCodeBlock> |
| <div> |
| Show filtering item |
| <input id="Radio1" type="radio" runat="server" name="showHideGroup" checked="true" |
| onclick="showFilterItem()" /><label for="Radio1">Yes</label> |
| <input id="Radio2" type="radio" runat="server" name="showHideGroup" onclick="hideFilterItem()" /><label |
| for="Radio2">No</label> |
| </div>--%> |
| <input type="hidden" id="radGridClickedRowIndex" name="radGridClickedRowIndex" /> |
| <p> |
| Right-click the grid to open context menu. |
| </p> |
| <div> |
| <telerik:RadGrid ID="RadGrid1" OnSortCommand="RadGrid1_SortCommand" OnNeedDataSource="RadGrid1_NeedDataSource" |
| AllowSorting="True" PageSize="20" ShowGroupPanel="True" AllowPaging="True" AllowMultiRowSelection="True" |
| AllowFilteringByColumn="true" AutoGenerateColumns="false" EnableViewState="false" |
| runat="server" GridLines="None" OnItemUpdated="RadGrid1_ItemUpdated" AllowAutomaticDeletes="true" |
| AllowAutomaticInserts="true" AllowAutomaticUpdates="true" OnPreRender="RadGrid1_PreRender" |
| EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" EnableLinqExpressions="false" |
| OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted" OnItemCommand="RadGrid1_ItemCommand"> |
| <%-- Filtering code--%> |
| <%-- |
| <MasterTableView AutoGenerateColumns="false" EditMode="InPlace" AllowFilteringByColumn="True" ShowFooter="True" TableLayout="Auto"> |
| <Columns> |
| <telerik:GridBoundColumn FilterControlWidth="105px" DataField="carrierName" HeaderText="carrierName" SortExpression="carrierName" |
| UniqueName="carrierName" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="true"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn FilterControlWidth="105px" DataField="city" HeaderText="city" SortExpression="city" |
| UniqueName="city" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="true"> |
| </telerik:GridBoundColumn> |
| <telerik:GridNumericColumn DataField="zipcode" HeaderText="zipcode" SortExpression="zipcode" |
| UniqueName="zipcode" FilterControlWidth="40px" AutoPostBackOnFilter="false" CurrentFilterFunction="equalto" FilterDelay="4000" ShowFilterIcon="true"> |
| </telerik:GridNumericColumn> |
| </Columns> |
| </MasterTableView> |
| --%> |
| <MasterTableView CommandItemDisplay="TopAndBottom" TableLayout="Fixed" DataKeyNames="sId" |
| EditMode="InPlace"> |
| <Columns> |
| <telerik:GridEditCommandColumn> |
| </telerik:GridEditCommandColumn> |
| <telerik:GridBoundColumn UniqueName="sId" DataField="sId" HeaderText="sId" ReadOnly="True" |
| HeaderStyle-Width="10%" SortExpression="sId" HeaderButtonType="TextButton"> |
| <HeaderStyle ForeColor="Silver" /> |
| <ItemStyle ForeColor="Gray" /> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn UniqueName="orderId" DataField="orderId" HeaderText="orderId" |
| HeaderStyle-Width="10%" ColumnEditorID="GridTextBoxColumnEditor1" SortExpression="orderId" |
| HeaderButtonType="TextButton" /> |
| <telerik:GridBoundColumn UniqueName="REJ" DataField="REJ" HeaderText="REJ" HeaderStyle-Width="10%" |
| SortExpression="REJ" HeaderButtonType="TextButton" /> |
| <telerik:GridBoundColumn UniqueName="Desc" DataField="Desc" HeaderText="Desc" HeaderStyle-Width="10%" |
| SortExpression="Desc" HeaderButtonType="TextButton" /> |
| <telerik:GridBoundColumn UniqueName="Customer Name" DataField="Customer Name" HeaderText="Customer Name" |
| HeaderStyle-Width="12%" SortExpression="Customer Name" HeaderButtonType="TextButton" /> |
| <telerik:GridBoundColumn UniqueName="Market Name" DataField="Market Name" HeaderText="Market Name" |
| HeaderStyle-Width="12%" SortExpression="Market Name" HeaderButtonType="TextButton" /> |
| <telerik:GridBoundColumn UniqueName="Headend Name" DataField="Headend Name" HeaderText="Headend Name" |
| HeaderStyle-Width="12%" SortExpression="Headend Name" HeaderButtonType="TextButton" /> |
| <telerik:GridBoundColumn UniqueName="Site Name" DataField="Site Name" HeaderText="Site Name" |
| HeaderStyle-Width="12%" SortExpression="Site Name" HeaderButtonType="TextButton" /> |
| <telerik:GridBoundColumn UniqueName="Task Status" DataField="Task Status" HeaderText="Task Status" |
| HeaderStyle-Width="10%" SortExpression="Task Status" HeaderButtonType="TextButton" /> |
| <telerik:GridEditCommandColumn UniqueName="EditCommandColumn" Visible="false" /> |
| </Columns> |
| <EditFormSettings EditFormType="Template"> |
| <FormTemplate> |
| <table> |
| <tr> |
| <td colspan="2" style="font-size: small"> |
| <b>Order Details</b> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <b>Order Info:</b> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <table> |
| <tr> |
| <td> |
| Country: |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox7" runat="server"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| City: |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox8" runat="server" TabIndex="1"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Region: |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox9" runat="server" TabIndex="2"> </asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Home Phone: |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox10" runat="server" TabIndex="3"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Birth Date: |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox11" runat="server" TabIndex="4"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Title Of Courtesy |
| </td> |
| <td> |
| <asp:DropDownList ID="ddlTOC" runat="server" SelectedValue='<%# Bind("TitleOfCourtesy") %>' |
| DataSource='<%# (new string[] { "Dr.", "Mr.", "Mrs.", "Ms." }) %>' TabIndex="7" |
| AppendDataBoundItems="True"> |
| <asp:ListItem Selected="True" Text="Select" Value=""></asp:ListItem> |
| </asp:DropDownList> |
| </td> |
| </tr> |
| </table> |
| </td> |
| <td> |
| <table> |
| <tr> |
| <td> |
| Notes: |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <asp:TextBox ID="TextBox1" Text='<%# Bind( "Notes") %>' runat="server" TextMode="MultiLine" |
| Rows="5" Columns="40" TabIndex="5"> |
| </asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Address: |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <asp:TextBox ID="TextBox6" Text='<%# Bind( "Address") %>' runat="server" TextMode="MultiLine" |
| Rows="2" Columns="40" TabIndex="6"> |
| </asp:TextBox> |
| </td> |
| </tr> |
| </table> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <b>Table Info:</b> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <table> |
| <tr> |
| <td> |
| OrderId: |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox2" runat="server" TabIndex="8"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| REJ: |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox3" runat="server" TabIndex="9"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Desc: |
| </td> |
| <td> |
| <asp:TextBox ID="Textbox5" runat="server" TabIndex="10"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Customer Name |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox4" runat="server" TabIndex="11"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Market Name |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox12" runat="server" TabIndex="12"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Headend Name |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox13" runat="server" TabIndex="13"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Site Name |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox14" runat="server" TabIndex="14"></asp:TextBox> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Task Status |
| </td> |
| <td> |
| <asp:TextBox ID="TextBox15" runat="server" TabIndex="15"></asp:TextBox> |
| </td> |
| </tr> |
| </table> |
| </td> |
| <td> |
| </td> |
| </tr> |
| <tr> |
| <td align="right" colspan="2"> |
| <asp:Button ID="btnUpdate" runat="server"> |
| </asp:Button> |
| <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" |
| CommandName="Cancel"></asp:Button> |
| </td> |
| </tr> |
| </table> |
| </FormTemplate> |
| </EditFormSettings> |
| </MasterTableView> |
| <ClientSettings AllowColumnsReorder="true" ReorderColumnsOnClient="true" AllowDragToGroup="True"> |
| <Resizing AllowRowResize="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="True" |
| AllowColumnResize="True"></Resizing> |
| <ClientEvents OnRowClick="RowClick" OnRowDblClick="RowDblClick" OnGridCreated="GridCreated" |
| OnCommand="GridCommand" /> |
| <ClientEvents OnGridCreated="onGridCreated" /> |
| <Scrolling AllowScroll="true" UseStaticHeaders="true" /> |
| <ClientEvents OnRowContextMenu="RowContextMenu"></ClientEvents> |
| <Selecting AllowRowSelect="true" /> |
| </ClientSettings> |
| <PagerStyle Mode="NextPrevAndNumeric" /> |
| <GroupingSettings CaseSensitive="false" ShowUnGroupButton="true" /> |
| </telerik:RadGrid> |
| <telerik:GridTextBoxColumnEditor ID="GridTextBoxColumnEditor1" runat="server" TextBoxStyle-Width="180px" /> |
| <telerik:RadContextMenu ID="RadMenu1" runat="server" OnItemClick="RadMenu1_ItemClick" |
| EnableRoundedCorners="true" EnableShadows="true"> |
| <Items> |
| <telerik:RadMenuItem Text="Add" /> |
| <telerik:RadMenuItem Text="Edit" /> |
| <telerik:RadMenuItem Text="Delete" /> |
| </Items> |
| </telerik:RadContextMenu> |
| <br /> |
| <br /> |
| <asp:Label ID="Label2" runat="server" EnableViewState="false" /> |
| </div> |
| </form> |
| </body> |
| </html> |
<telerik:RadTextBox ID="TxtBx" Runat="server" TextMode="MultiLine">
</telerik:RadTextBox>

<form id="form1" runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>
to the Masterpage because we can add only one instance of a ScriptManager to a page, no items where shown in the RadTabStrip.
Thanks
| <telerik:GridTemplateColumn HeaderText="BoM" UniqueName="BoMID" FilterControlWidth="30px" |
| AllowFiltering="true" DataType="System.Int32" DataField="BoMID" ReadOnly="True"> |
| <ItemTemplate> |
| <asp:Literal ID="litBoM" runat="server" Text='<%#FormatBoMColumn(Eval("BoMID"))%>'></asp:Literal> |
| </ItemTemplate> |
| <FilterTemplate> |
| <telerik:RadComboBox ID="ImportedFilter" runat="server" |
| AllowCustomText="false" DropDownWidth="70px" Width="15px"> |
| <Items> |
| <telerik:RadComboBoxItem Text="No Filter" Value="" /> |
| <telerik:RadComboBoxItem Text="Yes" Value="1" /> |
| <telerik:RadComboBoxItem Text="No" Value="0" /> |
| </Items> |
| </telerik:RadComboBox> |
| <telerik:RadScriptBlock ID="RadScriptBlock12" runat="server"> |
| <script type="text/javascript"> |
| function RethrownSelectedIndexChanged(sender, args) { |
| var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>"); |
| var filterVal = args.get_item().get_value(); |
| if (filterVal == null) { |
| tableView.filter("BoMID", filterVal, "NoFilter"); |
| } |
| else if (filterVal == 1) { |
| tableView.filter("BoMID", 0, "GreaterThan"); |
| } |
| else if (filterVal == 0) { |
| tableView.filter("BoMID", null, "EqualTo"); |
| } |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| </FilterTemplate> |
| <HeaderStyle Width="40px" Wrap="False" HorizontalAlign="Center" /> |
| <ItemStyle Width="40px" Wrap="False" HorizontalAlign="Center" /> |
| </telerik:GridTemplateColumn> |

| <telerik:RadGrid ID="rgSource" runat="server" AllowMultiRowSelection="true" ShowStatusBar="true" |
| AutoGenerateColumns="false" EnableEmbeddedBaseStylesheet="true" ShowDesignTimeSmartTagMessage="true" |
| EnableEmbeddedSkins="false" GridLines="None" Skin="TR" EnableAjaxSkinRendering="true" |
| EnableEmbeddedScripts="false" EnableViewState="true" |
| onneeddatasource="rgSource_NeedDataSource" onrowdrop="rgSource_RowDrop" |
| onprerender="rgSource_PreRender"> |
| <MasterTableView TableLayout="Fixed" Width="100%" runat="server"> |
| <Columns> |
| </Columns> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px" /> |
| </ExpandCollapseColumn> |
| </MasterTableView> |
| <ClientSettings AllowRowsDragDrop="true"> |
| <Selecting AllowRowSelect="True"/> |
| <DataBinding EnableCaching="true"/> |
| <Scrolling AllowScroll="true" UseStaticHeaders="true"/> |
| <ClientEvents OnRowDropped="onRowDropping" /> |
| </ClientSettings> |
| </telerik:RadGrid> |
| <telerik:RadGrid runat="server" ID="rgTarget" EnableEmbeddedScripts="false" |
| AllowMultiRowSelection="true" EnableEmbeddedBaseStylesheet="true" EnableViewState="true" |
| EnableEmbeddedSkins="false" GridLines="None" Skin="TR" AutoGenerateColumns="false" |
| onneeddatasource="rgTarget_NeedDataSource" onrowdrop="rgTarget_RowDrop1" |
| onprerender="rgTarget_PreRender"> |
| <MasterTableView TableLayout="Fixed" ShowHeadersWhenNoRecords="true" NoMasterRecordsText="" runat="server" > |
| <Columns> |
| </Columns> |
| </MasterTableView> |
| <ClientSettings AllowRowsDragDrop="True"> |
| <Selecting AllowRowSelect="True" EnableDragToSelectRows="false"/> |
| <DataBinding EnableCaching="true"/> |
| <Scrolling AllowScroll="true" UseStaticHeaders="true"/> |
| <ClientEvents OnRowDropped="onRowDropping" /> |
| </ClientSettings> |
| </telerik:RadGrid> |
| GridClientSelectColumn clientSelectColumn = new GridClientSelectColumn(); |
| clientSelectColumn.HeaderText = "ChkColumn"; |
| clientSelectColumn.UniqueName = "ChkColumn"; |
| clientSelectColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Left; |
| clientSelectColumn.HeaderStyle.HorizontalAlign = HorizontalAlign.Left; |
| //clientSelectColumn.HeaderStyle.Width = Unit.Pixel(25); |
| rgSource.MasterTableView.Columns.Add(clientSelectColumn); |
| GridClientSelectColumn client2SelectColumn = new GridClientSelectColumn(); |
| client2SelectColumn.HeaderText = "Chk1Column"; |
| client2SelectColumn.UniqueName = "Chk1Column"; |
| client2SelectColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Left; |
| client2SelectColumn.HeaderStyle.HorizontalAlign = HorizontalAlign.Left; |
| client2SelectColumn.HeaderStyle.Width = Unit.Pixel(25); |
| rgTarget.MasterTableView.Columns.Add(clientSelectColumn); |
| GridBoundColumn boundColumn = new GridBoundColumn(); |
| boundColumn.DataField = "SoftwareID"; |
| boundColumn.UniqueName = "Software1ID"; |
| boundColumn.HeaderText = "SoftwareID"; |
| rgSource.MasterTableView.Columns.Add(boundColumn); |
| GridBoundColumn bound1Column = new GridBoundColumn(); |
| bound1Column.DataField = "SoftwareID"; |
| bound1Column.UniqueName = "Software2ID"; |
| bound1Column.HeaderText = "SoftwareID"; |
| rgTarget.MasterTableView.Columns.Add(bound1Column); |
| GridBoundColumn bound3Column = new GridBoundColumn(); |
| bound3Column.DataField = "SoftwareName"; |
| bound3Column.UniqueName = "Software3Name"; |
| bound3Column.HeaderText = "SoftwareName"; |
| rgSource.MasterTableView.Columns.Add(bound3Column); |
| GridBoundColumn bound4Column = new GridBoundColumn(); |
| bound4Column.DataField = "SoftwareName"; |
| bound4Column.UniqueName = "Software4Name"; |
| bound4Column.HeaderText = "SoftwareName"; |
| rgTarget.MasterTableView.Columns.Add(bound4Column); |
| this.rgSource.MasterTableView.DataKeyNames = new string[] { "SoftwareID", "SoftwareName" }; |
| this.rgTarget.MasterTableView.DataKeyNames = new string[] { "SoftwareID", "SoftwareName" }; |
| List<Entities.SoftwareEntities.Software> targetSoftwarelist = (List<Entities.SoftwareEntities.Software>)Session["TargetDataSet"]; |
| List<Entities.SoftwareEntities.Software> sourceSoftwareList = (List<Entities.SoftwareEntities.Software>)Session["SourceDataSet"]; |
| for (int i = 0; i < tmpNumber; i++) |
| { |
| Entities.SoftwareEntities.Software software = new Entities.SoftwareEntities.Software(); |
| software.SoftwareID = e.DraggedItems[i].GetDataKeyValue("SoftwareID").ToString(); |
| software.SoftwareName = e.DraggedItems[i].GetDataKeyValue("SoftwareName").ToString(); |
| sourceSoftwareList.Add(software); |
| } |
| // Reorder the rows in both grids |
| targetSoftwarelist.RemoveAll(item => sourceSoftwareList.Find(sourceItem => sourceItem.SoftwareID == item.SoftwareID) != null); |
| sourceSoftwareList.Sort((first, second) => first.SoftwareID.CompareTo(second.SoftwareID)); |
| Session["TargetDataSet"] = targetSoftwarelist; |
| Session["SourceDataSet"] = sourceSoftwareList; |
| rgSource.MasterTableView.GetColumn("SoftwareID").HeaderText = "SoftwareID"; |
| rgSource.MasterTableView.GetColumn("SoftwareName").HeaderText = "SoftwareName"; |
| this.rgTarget.Rebind(); |
| this.rgSource.Rebind(); |