or
<telerik:RadGrid ID="RG_MENU_MenuItem" runat="server" DataSourceID="ods_MENU_MenuItem" AutoGenerateColumns="false" AllowSorting="false" OnNeedDataSource="RG_MENU_MenuItem_NeedDataSource" OnColumnCreated="RG_MENU_MenuItem_ColumnCreated" OnItemDataBound="RG_MENU_MenuItem_ItemDataBound" OnItemCreated="RG_MENU_MenuItem_ItemCreated" OnItemCommand="RG_MENU_MenuItem_ItemCommand" OnInsertCommand="RG_MENU_MenuItem_InsertCommand" OnUpdateCommand="RG_MENU_MenuItem_UpdateCommand" OnDeleteCommand="RG_MENU_MenuItem_DeleteCommand"> <MasterTableView HierarchyDefaultExpanded="true" HierarchyLoadMode="Client" AllowSorting="false" EditMode="PopUp" DataKeyNames="MenuItemID, ParentItemID" Width="100%"> <SelfHierarchySettings ParentKeyName="ParentItemID" KeyName="MenuItemID" /> <Columns> <telerik:GridBoundColumn DataField="MenuItemID" HeaderText="ID" SortExpression="MenuItemID" UniqueName="MenuItemID" DataType="System.Int64" AllowFiltering="false" ReadOnly="true"> <HeaderStyle CssClass="rgHeader column0"/> <ItemStyle CssClass="column0" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="AppDescription" HeaderText="App Description" SortExpression="AppDescription" UniqueName="AppDescription" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true"> <HeaderStyle CssClass="rgHeader column1"/> <ItemStyle CssClass="column1" /> </telerik:GridBoundColumn> <telerik:GridTemplateColumn DataField="MenuInstanceID" HeaderText="Menu Instance" SortExpression="MenuInstanceID" UniqueName="MenuInstanceID"> <FilterTemplate> <telerik:RadComboBox ID="rcbMenuInstanceFilter" runat="server" DataSourceID="ods_MenuInstance" DataTextField="AppDescription" DataValueField="MenuInstanceID" AllowCustomText="true" AppendDataBoundItems="true" Width="100" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("MenuInstanceID").CurrentFilterValue %>' OnClientSelectedIndexChanged="rcbMenuInstanceFilter_SelectedIndexChanged"> <Items> <telerik:RadComboBoxItem Text="" Value="" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="rsbMenuInstanceFilter" runat="server"> <script type="text/javascript"> function rcbMenuInstanceFilter_SelectedIndexChanged(sender, args) { var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); tableView.filter("MenuInstanceID", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> <ItemTemplate> <%# Eval("MenuInstance.AppDescription")%> </ItemTemplate> <HeaderStyle CssClass="rgHeader column2"/> <ItemStyle CssClass="column2" /> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="PageID" HeaderText="Page" SortExpression="PageID" UniqueName="PageID"> <FilterTemplate> <telerik:RadComboBox ID="rcbPageFilter" runat="server" DataSourceID="ods_Page" DataTextField="AppDescription" DataValueField="PageID" AllowCustomText="true" AppendDataBoundItems="true" Width="100" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("PageID").CurrentFilterValue %>' OnClientSelectedIndexChanged="rcbPageFilter_SelectedIndexChanged"> <Items> <telerik:RadComboBoxItem Text="" Value="" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="rsbPageFilter" runat="server"> <script type="text/javascript"> function rcbPageFilter_SelectedIndexChanged(sender, args) { var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); tableView.filter("PageID", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> <ItemTemplate> <%# Eval("Page.AppDescription")%> </ItemTemplate> <HeaderStyle CssClass="rgHeader column3"/> <ItemStyle CssClass="column3" /> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="WebOrder" HeaderText="Web Order" SortExpression="WebOrder" UniqueName="WebOrder" DataType="System.Int32" FilterControlWidth="25px"> <HeaderStyle CssClass="rgHeader column5"/> <ItemStyle CssClass="column5" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="IsActive" HeaderText="Is Active" SortExpression="IsActive" UniqueName="IsActive" DataType="System.Boolean"> <HeaderStyle CssClass="rgHeader column6"/> <ItemStyle CssClass="column6" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="TimeStamp" DataType="System.DateTime" HeaderText="Time Stamp" SortExpression="TimeStamp" UniqueName="TimeStamp" AllowFiltering="false"> <HeaderStyle CssClass="rgHeader column10"/> <ItemStyle CssClass="column10" /> </telerik:GridBoundColumn> <telerik:GridButtonColumn CommandName="CustomEdit" ButtonType="ImageButton" UniqueName="EditColumn" ImageUrl="~/_Med_App/images/edit.gif"> <HeaderStyle CssClass="rgHeader column11"/> <ItemStyle CssClass="column11" /> </telerik:GridButtonColumn> <telerik:GridButtonColumn ConfirmText="Jeste li sigurni da želite obrisati odabranu stavku?" CommandName="Delete" ButtonType="ImageButton" UniqueName="DeleteColumn"> <HeaderStyle CssClass="rgHeader column12"/> <ItemStyle CssClass="column12" /> </telerik:GridButtonColumn> <telerik:GridTemplateColumn UniqueName="SelectColumn" AllowFiltering="true" Display="false"> <FilterTemplate> <asp:CheckBox ID="cbxSelectAllForSync" runat="server" AutoPostBack="true" OnCheckedChanged="SelectAll_CheckedChanged" /> </FilterTemplate> <ItemTemplate> <asp:CheckBox ID="cbxSelectForSync" runat="server" /> </ItemTemplate> <HeaderStyle CssClass="rgHeader column13"/> <ItemStyle CssClass="column13" /> </telerik:GridTemplateColumn> </Columns> <EditFormSettings EditFormType="Template"> <EditColumn UniqueName="EditCommandColumn1"></EditColumn> <FormTemplate> <table class="edit-table-rad" cellspacing="2" cellpadding="1" width="100%" border="0"> <tr> <td align="left" width="200px"> <b>MenuItemID:</b> </td> <td> <%# Eval("MenuItemID").ToString()%> </td> </tr> <tr> <td align="left" width="200px"> <b>ParentItem:</b> </td> <td width="350px"> <telerik:RadComboBox ID="rcbParentItemID" runat="server" DataSourceID="ods_MENU_ParentMenuItem" DataTextField="AppDescription" DataValueField="MenuItemID" AppendDataBoundItems="true" AllowCustomText="true" Filter="StartsWith" Width="350px"> <Items> <telerik:RadComboBoxItem Text="" Value="" /> </Items> </telerik:RadComboBox> </td> </tr> <tr> <td align="left" width="200px"> <b>Menu Instance:</b> </td> <td width="350px"> <telerik:RadComboBox ID="rcbMenuInstanceID" runat="server" DataSourceID="ods_MenuInstance" DataTextField="AppDescription" DataValueField="MenuInstanceID" AllowCustomText="true" Width="350px"> </telerik:RadComboBox> </td> <td> <asp:RequiredFieldValidator ID="rfvMenuInstanceID" runat="server" ControlToValidate="rcbMenuInstanceID" ErrorMessage="Obavezan unos!" ForeColor="Red"> </asp:RequiredFieldValidator> </td> </tr> <tr> <td align="left" width="200px"> <b>Page:</b> </td> <td width="350px"> <telerik:RadComboBox ID="rcbPageID" runat="server" DataSourceID="ods_Page" DataTextField="AppDescription" DataValueField="PageID" AppendDataBoundItems="True" AllowCustomText="true" Width="350px"> <Items> <telerik:RadComboBoxItem Text="" Value="" /> </Items> </telerik:RadComboBox> </td> </tr> <tr> <td align="left" width="200px"> <b>Menu Item Url:</b> </td> <td width="350px"> <telerik:RadTextBox ID="txtMenuItemUrl" runat="server" Width="350px"/> </td> </tr> <tr> <td align="left" width="200px"> <b>App Description:</b> </td> <td width="350px"> <telerik:RadTextBox ID="txtAppDescription" runat="server" Width="350px"/> </td> </tr> <tr> <td align="left" width="200px"> <b>Web Order:</b> </td> <td width="350px"> <telerik:RadNumericTextBox ID="rnbWebOrder" runat="server" NumberFormat-DecimalDigits="0" Width="350px"/> </td> <td> <asp:RequiredFieldValidator ID="rfvWebOrder" runat="server" ControlToValidate="rnbWebOrder" ErrorMessage="Obavezan unos!" ForeColor="Red"> </asp:RequiredFieldValidator> </td> </tr> <tr> <td align="left" width="200px"> <b>Is Active:</b> </td> <td width="350px"> <asp:CheckBox ID="chbIsActive" runat="server" Checked="false"/> </td> </tr> <tr> <td align="left" width="200px"> <b>Priority Factor:</b> </td> <td width="350px"> <telerik:RadNumericTextBox ID="rnbPriorityFactor" runat="server" NumberFormat-DecimalDigits="0" Width="350px"/> </td> <td> <asp:RequiredFieldValidator ID="rfvPriorityFactor" runat="server" ControlToValidate="rnbPriorityFactor" ErrorMessage="Obavezan unos!" ForeColor="Red"> </asp:RequiredFieldValidator> </td> </tr> <tr> <td> <asp:Button ID="InsertUpdateButton" runat="server" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>' CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'></asp:Button> <asp:Button ID="CancelButton" runat="server" Text="Cancel" CausesValidation="false" CommandName="Cancel"></asp:Button> </td> </tr> </table> </FormTemplate> </EditFormSettings> </MasterTableView> <ClientSettings AllowExpandCollapse="true" /> </telerik:RadGrid>using System;using System.Collections;using System.Web.UI;using System.Web.UI.WebControls;using admin_bl;using admin_bo;using Telerik.Web.UI;namespace admin{ public partial class MENU_MenuItem_Hierarchy : bl_BasePage { #region "Properties" private string _strAppMode = string.Empty; private Hashtable _htOdsValues; private bool _isRowFound = false; private long _lMenuInstanceIDFilter; #endregion #region "Page Load Methods" protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; SetGridDisplay(); SetInitialFilter(); } public void Page_PreRenderComplete(object sender, EventArgs e) { HideExpandColumnRecursive(this.RG_MENU_MenuItem.MasterTableView); } /// <summary> /// Changes the grid display based on the ApplicationMode /// </summary> private void SetGridDisplay() { this._strAppMode = (Convert.ToInt32(bl_ApplicationData.AppMode)).ToString(); this.txtAppMode.Text = this._strAppMode; if (bl_ApplicationData.AppMode == bl_ApplicationData.ApplicationMode.SYNCRONIZATION) { //disable insert, update & delete this.RG_MENU_MenuItem.AllowAutomaticInserts = false; this.RG_MENU_MenuItem.AllowAutomaticUpdates = false; this.RG_MENU_MenuItem.AllowAutomaticDeletes = false; //hide edit & delete columns and show select column this.RG_MENU_MenuItem.MasterTableView.GetColumn("EditColumn").Display = false; this.RG_MENU_MenuItem.MasterTableView.GetColumn("DeleteColumn").Display = false; this.RG_MENU_MenuItem.MasterTableView.GetColumn("SelectColumn").Display = true; //show buttons this.bDoSyncUP.Visible = true; this.bDoSyncDOWN.Visible = true; // confirm message this.bDoSyncUP.Attributes.Add("OnClick", "return confirm('Jeste li sigurni da želite pokrenuti sinkronizaciju? ');"); this.bDoSyncDOWN.Attributes.Add("OnClick", "return confirm('Jeste li sigurni da želite pokrenuti sinkronizaciju? ');"); //set sync legend colors and show it this.WUC_sync_legend1.bckColorInsert = bl_ApplicationData.BckColorInsert; this.WUC_sync_legend1.bckColorUpdate = bl_ApplicationData.BckColorUpdate; this.WUC_sync_legend1.bckColorDelete = bl_ApplicationData.BckColorDelete; this.WUC_sync_legend1.isSyncMode = true; } else if (bl_ApplicationData.AppMode == bl_ApplicationData.ApplicationMode.ADMINISTRATION) { this.RG_MENU_MenuItem.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.Top; } } private void SetInitialFilter() { this.RG_MENU_MenuItem.MasterTableView.FilterExpression = "(it.ParentItemID == 0)"; //glavni menu initial filter this.rcbMenuInstanceFilter.SelectedValue = "8"; SetMenuInstanceFilter("8"); } #endregion #region "RadGrid Events" protected void RG_MENU_MenuItem_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { GetDataSource(); } protected void RG_MENU_MenuItem_ColumnCreated(object sender, GridColumnCreatedEventArgs e) { if (e.Column is GridExpandColumn) { e.Column.Visible = false; } else if (e.Column is GridBoundColumn) { e.Column.HeaderStyle.Width = Unit.Pixel(100); } } protected void RG_MENU_MenuItem_ItemDataBound(object sender, GridItemEventArgs e) { CreateExpandCollapseButton(e.Item, "MenuItemID"); } protected void RG_MENU_MenuItem_ItemCreated(object sender, GridItemEventArgs e) { CreateExpandCollapseButton(e.Item, "MenuItemID"); //e.Item.Expanded = false; if (e.Item is GridHeaderItem && e.Item.OwnerTableView != this.RG_MENU_MenuItem.MasterTableView) { e.Item.Style["display"] = "none"; } if (e.Item is GridNestedViewItem) { e.Item.Cells[0].Visible = false; } if (bl_ApplicationData.AppMode == bl_ApplicationData.ApplicationMode.ADMINISTRATION) { this.ItemCreatedAdmin(e); } else if (bl_ApplicationData.AppMode == bl_ApplicationData.ApplicationMode.SYNCRONIZATION) { this.ItemCreatedSync(e); } } protected void RG_MENU_MenuItem_ItemCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "CustomEdit") { EditRow(e); } } protected void RG_MENU_MenuItem_InsertCommand(object sender, GridCommandEventArgs e) { GetValues(e); Insert(); } protected void RG_MENU_MenuItem_UpdateCommand(object sender, GridCommandEventArgs e) { GetValues(e); Update(e); } protected void RG_MENU_MenuItem_DeleteCommand(object sender, GridCommandEventArgs e) { Delete(e); } public void SelectAll_CheckedChanged(object sender, EventArgs e) { this.RG_MENU_MenuItem.Rebind(); foreach (GridDataItem item in this.RG_MENU_MenuItem.MasterTableView.Items) { (item.FindControl("cbxSelectForSync") as CheckBox).Checked = (sender as CheckBox).Checked; } } #endregion #region "Insert - Update - Delete" private void Insert() { string strMessage = String.Empty; bool isInserted = false; new bl_MENU_MenuItem().Insert(Convert.ToInt64(this._htOdsValues["ParentItemID"]) , Convert.ToInt64(this._htOdsValues["MenuInstanceID"]) , Convert.ToInt64(this._htOdsValues["PageID"]) , this._htOdsValues["MenuItemUrl"].ToString() , this._htOdsValues["AppDescription"].ToString() , Convert.ToInt32(this._htOdsValues["WebOrder"]) , Convert.ToBoolean(this._htOdsValues["IsActive"]) , base.LoggedUser.UserID , Convert.ToInt32(this._htOdsValues["PriorityFactor"]) , out isInserted , out strMessage); DisplayMessage(!isInserted, strMessage); } private void Update(GridCommandEventArgs e) { string strMessage = String.Empty; bool isUpdated = false; long lMenuItemID = Convert.ToInt64((e.Item as GridEditableItem).GetDataKeyValue("MenuItemID")); new bl_MENU_MenuItem().Update(lMenuItemID , Convert.ToInt64(this._htOdsValues["ParentItemID"]) , Convert.ToInt64(this._htOdsValues["MenuInstanceID"]) , Convert.ToInt64(this._htOdsValues["PageID"]) , this._htOdsValues["MenuItemUrl"].ToString() , this._htOdsValues["AppDescription"].ToString() , Convert.ToInt32(this._htOdsValues["WebOrder"]) , Convert.ToBoolean(this._htOdsValues["IsActive"]) , base.LoggedUser.UserID , Convert.ToInt32(this._htOdsValues["PriorityFactor"]) , out isUpdated , out strMessage); DisplayMessage(!isUpdated, strMessage); } private void Delete(GridCommandEventArgs e) { string strMessage = String.Empty; bool isDeleted = false; long lMenuItemID = Convert.ToInt64((e.Item as GridEditableItem).GetDataKeyValue("MenuItemID")); new bl_MENU_MenuItem().Delete(lMenuItemID , out isDeleted , out strMessage); DisplayMessage(!isDeleted, strMessage); } #endregion #region "ObjectDataSource Events" protected void ods_MENU_MenuItem_Inserting(object sender, ObjectDataSourceMethodEventArgs e) { SetOdsValues(e); } protected void ods_MENU_MenuItem_Updating(object sender, ObjectDataSourceMethodEventArgs e) { SetOdsValues(e); } protected void ods_MENU_MenuItem_Deleting(object sender, ObjectDataSourceMethodEventArgs e) { } protected void ods_MENU_MenuItem_Inserted(object sender, ObjectDataSourceStatusEventArgs e) { DisplayMessage(!Convert.ToBoolean(e.OutputParameters["pIsInserted"]), Convert.ToString(e.OutputParameters["pMessage"])); } protected void ods_MENU_MenuItem_Updated(object sender, ObjectDataSourceStatusEventArgs e) { DisplayMessage(!Convert.ToBoolean(e.OutputParameters["pIsUpdated"]), Convert.ToString(e.OutputParameters["pMessage"])); } protected void ods_MENU_MenuItem_Deleted(object sender, ObjectDataSourceStatusEventArgs e) { DisplayMessage(!Convert.ToBoolean(e.OutputParameters["pIsDeleted"]), Convert.ToString(e.OutputParameters["pMessage"])); } #endregion #region "Other Events" protected void button_Click(object sender, EventArgs e) { ((Button)sender).CssClass = (((Button)sender).CssClass == "rgExpand") ? "rgCollapse" : "rgExpand"; } protected void rcbMenuInstanceFilter_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e) { SetMenuInstanceFilter(e.Value); } #endregion #region "Utility Methods" public void GetDataSource() { RG_MENU_MenuItem.DataSource = new bl_MENU_MenuItem().GetAll( this.txtSortExpression.Text , Convert.ToBoolean(this.txtSortDirection.Text) , this.txtAppMode.Text); } public void HideExpandColumnRecursive(GridTableView pTableView) { GridItem[] nestedViewItems = pTableView.GetItems(GridItemType.NestedView); foreach (GridNestedViewItem nestedViewItem in nestedViewItems) { foreach (GridTableView nestedView in nestedViewItem.NestedTableViews) { nestedView.Style["border"] = "0"; Button btnExpandCollapseButton = (Button)nestedView.ParentItem.FindControl("btnExpandCollapseButton"); if (nestedView.Items.Count == 0) { if (btnExpandCollapseButton != null) { btnExpandCollapseButton.Style["visibility"] = "hidden"; } nestedViewItem.Visible = false; } else { if (btnExpandCollapseButton != null) { btnExpandCollapseButton.Style.Remove("visibility"); } } if (nestedView.HasDetailTables) { HideExpandColumnRecursive(nestedView); } } } } public void CreateExpandCollapseButton(GridItem pItem, string pColumnUniqueName) { if (pItem is GridDataItem) { if (pItem.FindControl("btnExpandCollapseButton") == null) { Button button = new Button(); button.Click += new EventHandler(button_Click); button.CommandName = "ExpandCollapse"; button.CssClass = (pItem.Expanded) ? "rgCollapse" : "rgExpand"; button.ID = "btnExpandCollapseButton"; if (pItem.OwnerTableView.HierarchyLoadMode == GridChildLoadMode.Client) { string script = String.Format(@"$find(""{0}"")._toggleExpand(this, event); return false;", pItem.Parent.Parent.ClientID); button.OnClientClick = script; } int level = pItem.ItemIndexHierarchical.Split(':').Length - 1; button.Style["margin-left"] = level * 15 + "px"; TableCell cell = ((GridDataItem)pItem)[pColumnUniqueName]; cell.Controls.Add(button); cell.Controls.Add(new LiteralControl(" ")); cell.Controls.Add(new LiteralControl(((GridDataItem)pItem).GetDataKeyValue(pColumnUniqueName).ToString())); } } } private void DisplayMessage(bool pIsError, string pText) { if (pIsError == true) { this.lblActionNotOk.Visible = true; this.lblActionNotOk.Text = pText; this.lblActionOk.Visible = false; } else { this.lblActionOk.Visible = true; this.lblActionOk.Text = pText; this.lblActionNotOk.Visible = false; } } private void ItemCreatedAdmin(GridItemEventArgs e) { if (e.Item is GridEditableItem && e.Item.IsInEditMode) { GridEditFormItem geiEditedItem = e.Item as GridEditFormItem; geiEditedItem.Visible = true; if (e.Item.DataItem is bo_MENU_MenuItem) { bo_MENU_MenuItem boCurrent = (bo_MENU_MenuItem)e.Item.DataItem; RadComboBox rcbParentItemID = geiEditedItem.FindControl("rcbParentItemID") as RadComboBox; rcbParentItemID.SelectedValue = boCurrent.ParentItemID != 0 ? boCurrent.ParentItemID.ToString() : ""; RadComboBox rcbMenuInstanceID = geiEditedItem.FindControl("rcbMenuInstanceID") as RadComboBox; rcbMenuInstanceID.SelectedValue = boCurrent.MenuInstance.MenuInstanceID.ToString(); RadComboBox rcbPageID = geiEditedItem.FindControl("rcbPageID") as RadComboBox; rcbPageID.SelectedValue = boCurrent.Page.PageID != 0 ? boCurrent.Page.PageID.ToString() : String.Empty; RadTextBox txtMenuItemUrl = geiEditedItem.FindControl("txtMenuItemUrl") as RadTextBox; txtMenuItemUrl.Text = boCurrent.MenuItemUrl.ToString(); RadTextBox txtAppDescription = geiEditedItem.FindControl("txtAppDescription") as RadTextBox; txtAppDescription.Text = boCurrent.AppDescription.ToString(); RadNumericTextBox rnbWebOrder = geiEditedItem.FindControl("rnbWebOrder") as RadNumericTextBox; rnbWebOrder.Text = boCurrent.WebOrder.ToString(); CheckBox chbIsActive = geiEditedItem.FindControl("chbIsActive") as CheckBox; chbIsActive.Checked = boCurrent.IsActive; RadNumericTextBox rnbPriorityFactor = geiEditedItem.FindControl("rnbPriorityFactor") as RadNumericTextBox; rnbPriorityFactor.Text = boCurrent.PriorityFactor.ToString(); } } } private void ItemCreatedSync(GridItemEventArgs e) { } private void GetValues(GridCommandEventArgs e) { this._htOdsValues = new Hashtable(); this._htOdsValues.Add("ParentItemID", Convert.ToInt64(((e.Item as GridEditableItem).FindControl("rcbParentItemID") as RadComboBox).SelectedValue != String.Empty ? ((e.Item as GridEditableItem).FindControl("rcbParentItemID") as RadComboBox).SelectedValue : "0")); this._htOdsValues.Add("MenuInstanceID", Convert.ToInt64(((e.Item as GridEditableItem).FindControl("rcbMenuInstanceID") as RadComboBox).SelectedValue)); this._htOdsValues.Add("PageID", Convert.ToInt64(((e.Item as GridEditableItem).FindControl("rcbPageID") as RadComboBox).SelectedValue != String.Empty ? ((e.Item as GridEditableItem).FindControl("rcbPageID") as RadComboBox).SelectedValue : "0")); this._htOdsValues.Add("MenuItemUrl", ((e.Item as GridEditableItem).FindControl("txtMenuItemUrl") as RadTextBox).Text); this._htOdsValues.Add("AppDescription", ((e.Item as GridEditableItem).FindControl("txtAppDescription") as RadTextBox).Text); this._htOdsValues.Add("WebOrder", Convert.ToInt32(((e.Item as GridEditableItem).FindControl("rnbWebOrder") as RadNumericTextBox).Text)); this._htOdsValues.Add("IsActive", ((e.Item as GridEditableItem).FindControl("chbIsActive") as CheckBox).Checked); this._htOdsValues.Add("PriorityFactor", Convert.ToInt32(((e.Item as GridEditableItem).FindControl("rnbPriorityFactor") as RadNumericTextBox).Text)); } private void SetOdsValues(ObjectDataSourceMethodEventArgs e) { e.InputParameters["ParentItemID"] = this._htOdsValues["ParentItemID"]; e.InputParameters["MenuInstanceID"] = this._htOdsValues["MenuInstanceID"]; e.InputParameters["PageID"] = this._htOdsValues["PageID"]; e.InputParameters["MenuItemUrl"] = this._htOdsValues["MenuItemUrl"]; e.InputParameters["AppDescription"] = this._htOdsValues["AppDescription"]; e.InputParameters["WebOrder"] = this._htOdsValues["WebOrder"]; e.InputParameters["IsActive"] = this._htOdsValues["IsActive"]; e.InputParameters["UserID"] = base.LoggedUser.UserID; e.InputParameters["PriorityFactor"] = this._htOdsValues["PriorityFactor"]; } private void EditRow(GridCommandEventArgs e) { if (e.Item is GridDataItem) { GridDataItem gdiItem = (GridDataItem)e.Item; long lMenuItemID = Convert.ToInt64(gdiItem.GetDataKeyValue("MenuItemID")); this._isRowFound = false; if (this.RG_MENU_MenuItem.MasterTableView.FindItemByKeyValue("MenuItemID", lMenuItemID) != null) this.RG_MENU_MenuItem.MasterTableView.FindItemByKeyValue("MenuItemID", lMenuItemID).Edit = true; else EditRowRecursive(this.RG_MENU_MenuItem.MasterTableView, lMenuItemID); this.RG_MENU_MenuItem.Rebind(); } } private void EditRowRecursive(GridTableView pTableView, long pMenuItemID) { GridItem[] nestedViewItems = pTableView.GetItems(GridItemType.NestedView); foreach (GridNestedViewItem nestedViewItem in nestedViewItems) { if (this._isRowFound) return; foreach (GridTableView nestedView in nestedViewItem.NestedTableViews) { if (nestedView.FindItemByKeyValue("MenuItemID", pMenuItemID) != null) { nestedView.FindItemByKeyValue("MenuItemID", pMenuItemID).Edit = true; this._isRowFound = true; return; } if (nestedView.HasDetailTables) { EditRowRecursive(nestedView, pMenuItemID); } } } } private void SetMenuInstanceFilter(string pMenuInstanceID) { this._lMenuInstanceIDFilter = Convert.ToInt64(pMenuInstanceID.Equals(String.Empty) ? "0" : pMenuInstanceID); this.locTitle.Text = "Uređivanje Stavki Menua"; this.RG_MENU_MenuItem.MasterTableView.FilterExpression = "(it.ParentItemID == 0)"; this.txtMenuInstanceID.Text = this._lMenuInstanceIDFilter.ToString(); GridColumn gdcMenuInstanceID = this.RG_MENU_MenuItem.MasterTableView.GetColumnSafe("MenuInstanceID"); if (this._lMenuInstanceIDFilter == 0) { gdcMenuInstanceID.CurrentFilterFunction = GridKnownFunction.NoFilter; gdcMenuInstanceID.CurrentFilterValue = String.Empty; } else { this.locTitle.Text += " za MenuInstanceID = " + this.txtMenuInstanceID.Text; this.RG_MENU_MenuItem.MasterTableView.FilterExpression += " AND (it.MenuInstanceID == " + this.txtMenuInstanceID.Text + ")"; gdcMenuInstanceID.CurrentFilterFunction = GridKnownFunction.EqualTo; gdcMenuInstanceID.CurrentFilterValue = this.txtMenuInstanceID.Text; } this.RG_MENU_MenuItem.MasterTableView.Rebind(); } #endregion #endregion }}<telerik:RadGrid ID="RadGridJobs" runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="25" AllowSorting="false" GridLines="None" Width="885px" Skin="Office2007" SkinID="RadGrid_UnPageable" OnNeedDataSource="RadGridJobs_NeedDataSource" OnUpdateCommand="RadGridJobs_UpdateCommand" OnDeleteCommand="RadGridJobs_DeleteCommand" OnItemCreated="RadGridJobs_ItemCreated"><MasterTableView ClientDataKeyNames="OID" DataKeyNames="OID" CommandItemDisplay="Top"> <Columns> <telerik:GridBoundColumn DataField="PharmacyName" HeaderText="Pharmacy" ReadOnly="True" SortExpression="PharmacyName" UniqueName="columnPharmacy" /> <telerik:GridBoundColumn DataField="CoordinatorName" HeaderText="Coordinator" ReadOnly="true" SortExpression="CoordinatorName" UniqueName="columnCoordinator" /> <telerik:GridBoundColumn DataField="JobDate" HeaderText="Date" ReadOnly="true" SortExpression="JobDate" UniqueName="columnDate" DataType="System.DateTime" DataFormatString="{0:dd-MMM-yyyy}" /> <telerik:GridBoundColumn DataField="StartTime" HeaderText="Start" UniqueName="columnStart" DataType="System.DateTime" DataFormatString="{0:hh:mm tt}" /> <telerik:GridBoundColumn DataField="EndTime" HeaderText="End" UniqueName="columnEnd" DataType="System.DateTime" DataFormatString="{0:hh:mm tt}" /> <telerik:GridBoundColumn DataField="Rate" HeaderText="Rate" UniqueName="columnRate" DataType="System.Decimal" DataFormatString="{0:c}" /> <telerik:GridBoundColumn DataField="RatePlus" HeaderText="Rate +" UniqueName="columnRatePlus" DataType="System.Decimal" DataFormatString="{0:c}" /> <telerik:GridEditCommandColumn ButtonType="ImageButton" /> <telerik:GridButtonColumn ConfirmText="Delete this Job?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" /> <telerik:GridTemplateColumn HeaderText="" UniqueName="NoteColumn" HeaderStyle-Width="10px" ItemStyle-Width="10px"> <ItemTemplate> <a href="../Notes/NotesManager.aspx?RecordID=<%# Eval("OID") %>&NoteTypeID=3"> <asp:Image ID="ImageEditNote" runat="server" ImageUrl="~/Images/notes-icon.gif" AlternateText="Add notes" Width="15px" ToolTip="Add notes" /> </a> </ItemTemplate> <HeaderStyle Width="10px"></HeaderStyle> <ItemStyle Width="10px"></ItemStyle> </telerik:GridTemplateColumn> </Columns> <EditFormSettings> <EditColumn ButtonType="ImageButton" /> </EditFormSettings> <CommandItemSettings ShowRefreshButton="true" ShowAddNewRecordButton="false" ShowExportToWordButton="false" ShowExportToExcelButton="true" ShowExportToPdfButton="true" ShowExportToCsvButton="true" /> <PagerStyle AlwaysVisible="true" Mode="NextPrevAndNumeric" Position="TopAndBottom" /></MasterTableView><ExportSettings HideStructureColumns="false" /><ClientSettings> <Selecting AllowRowSelect="True" /> <ClientEvents OnRowDblClick="RadGridJobs_OnRowDblClick" /> <Scrolling UseStaticHeaders="True" /></ClientSettings></telerik:RadGrid><telerik:RadInputManager runat="server" ID="RadInputManagerJobs" Enabled="true"> <telerik:DateInputSetting BehaviorID="DateInputSettingStartEnd" DateFormat="hh:mm:ss tt" DisplayDateFormat="hh:mm tt" EmptyMessage="Cannot be empty" ErrorMessage="Enter valid time" /> <telerik:NumericTextBoxSetting BehaviorID="NumericTextBoxSettingRate" Type="Currency" AllowRounding="true" DecimalDigits="2" MinValue="0" EmptyMessage="Cannot be empty" ErrorMessage="Enter valid currency" /></telerik:RadInputManager>| ScriptManager.RegisterStartupScript(this, this.GetType(), this.ClientID + "_SplitterBarStartupScript", sb.ToString(), true); |

var tsCoding = $find("<%= tsCoding.ClientID %>");
var selectedTab = tsCoding.get_selectedTab();
if (selectedTab != null) {