or
<%@ Register TagPrefix="grid" TagName="dataGrid" Src="~/UserControls/WebUserControl1.ascx" %><grid:dataGrid runat="server" ID="GridSpot" Fixed="true" ShowFooter = "true" ExportName="DetailedHourlyData - " GridDataSourceID="detailed_hr_report" /><asp:ObjectDataSource ID="detailed_hr_report" runat="server" EnablePaging="true" OnSelecting="ods_Selecting" SelectMethod="GetData" SelectCountMethod="GetCount" TypeName="ObjectDS.GetDetailedHourData" > <SelectParameters> <asp:ControlParameter ControlID="UnitDropDown" Name="Unit_id" PropertyName="SelectedValue" DefaultValue="" /> <asp:ControlParameter ControlID="rangeDemoStart" Name="Start_time" PropertyName="Text" Type="DateTime" /> <asp:ControlParameter ControlID="rangeDemoFinish" Name="End_time" PropertyName="Text" Type="DateTime" /> </SelectParameters></asp:ObjectDataSource>protected void Page_PreInit(object sender, EventArgs e){ List<string[]> ac = GridSpot.AllColumns; ac.Add(new string[6] { "DATE_TIME", "Date/Time", "date", "color1", "first", "Sum:" }); ac.Add(new string[4] { "OPER_DATA", "Oper Data Min", "smallInt", "color2" }); ac.Add(new string[4] { "OPER_VALID_NOX", "Valid NOx", "smallInt", "color2" }); ac.Add(new string[4] { "OPER_VALID_SO2", "Vaild SO2", "smallInt", "color2" });}<div class="MessageDiv"> //Used to pass back messages for testing
<asp:Label ID="TestBox" CssClass="FilterText" runat="server" Style="color: Red; font-size: 14px;">
Filter: OFF
</asp:Label>
</div>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<ClientEvents OnRequestStart="RequestStart" OnResponseEnd="ResponseEnd" />
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
<telerik:AjaxUpdatedControl ControlID="TestBox" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="SubmitButton">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
<telerik:AjaxUpdatedControl ControlID="TestBox" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="UnitDropDown">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
<telerik:AjaxUpdatedControl ControlID="TestBox" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="rangeDemoToday">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
<telerik:AjaxUpdatedControl ControlID="TestBox" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<asp:PlaceHolder ID="RadControl" runat="server" ></asp:PlaceHolder>
// +Some javascriptpublic partial class WebUserControl1 : UserControl{ public Boolean ShowFooter = false; public Boolean Fixed = true; public String ExportName; public Boolean UseODS = true; public String GridDataSourceID; public List<string[]> AllColumns = new List<string[]>(); public RadGrid RadGrid1 = new RadGrid(); public Boolean ExportAll = false; public Boolean ReCount = false; public Boolean reAdjust = false; public SiteMaster Master { get { return (SiteMaster)Page.Master; } } protected void Page_Init(object sender, EventArgs e) { ReCount = true; ImageButton ExportToExcel = (ImageButton)Page.Master.FindControl("DownloadExcel"); ExportToExcel.Click += new ImageClickEventHandler(ExportButton_Click); ImageButton SubmitButton = (ImageButton)Page.Master.FindControl("SubmitButton"); SubmitButton.Click += new ImageClickEventHandler(RadGrid_ReBinder); ImageButton TodayButton = (ImageButton)Page.Master.FindControl("rangeDemoToday"); TodayButton.Click += new ImageClickEventHandler(RadGrid_ReBinder); DropDownList UnitDropDown = (DropDownList)Page.Master.FindControl("UnitDropDown"); UnitDropDown.SelectedIndexChanged += new EventHandler(RadGrid_ReBinder); RadGrid1.ID = "RadGrid1"; //User Settings (Can be different for each grid) if (UseODS) { RadGrid1.DataSourceID = GridDataSourceID; } RadGrid1.ShowFooter = false; RadGrid1.EnableViewState = true; //Grid Events RadGrid1.ItemCreated += new GridItemEventHandler(RadGrid1_ItemCreated); RadGrid1.ItemUpdated += new GridUpdatedEventHandler(RadGrid1_ItemUpdated); RadGrid1.NeedDataSource += new GridNeedDataSourceEventHandler(RadGrid1_NeedDataSource); RadGrid1.ItemDataBound +=new GridItemEventHandler(RadGrid1_ItemDataBound); RadGrid1.ItemCommand += new GridCommandEventHandler(RadGrid1_ItemCommand); RadGrid1.PreRender += new EventHandler(RadGrid1_PreRender); RadGrid1.PagerStyle.AlwaysVisible = true; RadGrid1.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric; RadGrid1.PagerStyle.CssClass = "RadPager"; //Grid Set-Up RadGrid1.CellSpacing = 1; RadGrid1.PageSize = 336; RadGrid1.AllowPaging = UseODS; RadGrid1.AllowCustomPaging = false; RadGrid1.AllowSorting = true; RadGrid1.EnableHeaderContextMenu = true; RadGrid1.Width = Unit.Percentage(99.99); RadGrid1.GridLines = GridLines.None; //Export Settings RadGrid1.ExportSettings.OpenInNewWindow = true; RadGrid1.ExportSettings.ExportOnlyData = true; RadGrid1.ExportSettings.Excel.Format = GridExcelExportFormat.ExcelML; RadGrid1.ExportSettings.Excel.FileExtension = "xls"; //Client Settings RadGrid1.ClientSettings.AllowColumnsReorder = true; RadGrid1.ClientSettings.ReorderColumnsOnClient = true; RadGrid1.ClientSettings.ColumnsReorderMethod = GridClientSettings.GridColumnsReorderMethod.Reorder; //RadGrid1.ClientSettings.Selecting.AllowRowSelect = true; RadGrid1.ClientSettings.Scrolling.AllowScroll = true; RadGrid1.ClientSettings.Scrolling.UseStaticHeaders = true; //RadGrid1.ClientSettings.Scrolling.SaveScrollPosition = true; RadGrid1.ClientSettings.Resizing.AllowColumnResize = true; RadGrid1.ClientSettings.Resizing.ResizeGridOnColumnResize = false; RadGrid1.ClientSettings.Resizing.ClipCellContentOnResize = false; RadGrid1.ClientSettings.Resizing.AllowResizeToFit = true; //Table Set-Up RadGrid1.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None; RadGrid1.MasterTableView.Enabled = true; RadGrid1.MasterTableView.Width = Unit.Percentage(99.99); RadGrid1.MasterTableView.AllowFilteringByColumn = true; RadGrid1.MasterTableView.IsFilterItemExpanded = false; RadGrid1.MasterTableView.ShowHeadersWhenNoRecords = true; RadGrid1.MasterTableView.AutoGenerateColumns = false; RadGrid1.MasterTableView.ItemStyle.BorderStyle = BorderStyle.Solid; RadGrid1.MasterTableView.ItemStyle.Wrap = false; RadGrid1.MasterTableView.ItemStyle.HorizontalAlign = HorizontalAlign.Center; RadGrid1.MasterTableView.AlternatingItemStyle.Wrap = false; //Styles RadGrid1.ItemStyle.HorizontalAlign = HorizontalAlign.Center; //RadGrid1.ItemStyle.Wrap = false; RadGrid1.AlternatingItemStyle.HorizontalAlign = HorizontalAlign.Center; RadGrid1.AlternatingItemStyle.Wrap = false; RadGrid1.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; RadGrid1.HeaderStyle.Font.Size = FontUnit.XXSmall; RadGrid1.HeaderStyle.Font.Bold = true; RadGrid1.HeaderStyle.Wrap = true; RadGrid1.FooterStyle.HorizontalAlign = HorizontalAlign.Center; RadGrid1.FooterStyle.Font.Bold = true; RadGrid1.FooterStyle.ForeColor = System.Drawing.Color.Black; RadGrid1.FilterItemStyle.HorizontalAlign = HorizontalAlign.Center; RadGrid1.FilterMenu.EnableImageSprites = false; RadGrid1.EnableLinqExpressions = false; RadGrid1.ActiveItemStyle.HorizontalAlign = HorizontalAlign.Center; //Make columns foreach (string[] column in AllColumns) { MakeColumn(column); } if (!Fixed) { foreach (GridColumn column in RadGrid1.MasterTableView.Columns) { column.HeaderStyle.Reset(); } RadGrid1.MasterTableView.TableLayout = GridTableLayout.Auto; RadGrid1.ClientSettings.Scrolling.FrozenColumnsCount = 1; } TestBox.Text += "Ctrl_Init: "; RadControl.Controls.Add(RadGrid1); } public void ExportButton_Click(object sender, ImageClickEventArgs e) { ExportAll = true; RadGrid1.Rebind(); RadGrid1.ExportSettings.FileName = ExportName + "Unit ID " + Master.UnitId + " - " + Master.StartTime.Replace("/", "").Replace(":", "") + " - " + Master.EndTime.Replace("/", "").Replace(":", ""); RadGrid1.MasterTableView.ExportToExcel(); } public void RadGrid_ReBinder(object sender, EventArgs e) { ReCount = true; RadGrid1.Rebind(); } protected void RadGrid1_ItemUpdated(object source, Telerik.Web.UI.GridUpdatedEventArgs e) { //if (e.Exception != null) //{ // e.KeepInEditMode = true; // e.ExceptionHandled = true; //} } protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) { } protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) { reAdjust = (e.CommandName == RadGrid.FilterCommandName); ReCount = (e.CommandName == RadGrid.FilterCommandName); } protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridPagerItem) { RadComboBox PageSizeCombo = (RadComboBox)e.Item.FindControl("PageSizeComboBox"); PageSizeCombo.Width = Unit.Pixel(100); PageSizeCombo.Items[0].Text = "One Day"; PageSizeCombo.Items[0].Value = "24"; PageSizeCombo.Items[1].Text = "One Week"; PageSizeCombo.Items[1].Value = "168"; PageSizeCombo.Items[2].Text = "Two Weeks"; PageSizeCombo.Items[2].Value = "336"; PageSizeCombo.Items[3].Text = "One Month"; PageSizeCombo.Items[3].Value = "744"; PageSizeCombo.FindItemByValue(e.Item.OwnerTableView.PageSize.ToString()).Selected = true; } } protected void RadGrid1_PreRender(object sender, EventArgs e) { if (reAdjust || RadGrid1.MasterTableView.CssClass == "readjust") { int i = 0; foreach (string[] column in AllColumns) { string[] colProperties = new string[6] { "", "", "", "", "", "" }; for (int x = 0; x < column.Length; x++) { colProperties[x] = column[x]; } GridColumn thisCol = RadGrid1.MasterTableView.Columns.FindByUniqueName(colProperties[0]); if (RadGrid1.MasterTableView.CssClass == "readjust") { thisCol.CurrentFilterFunction = GridKnownFunction.NoFilter; thisCol.CurrentFilterValue = String.Empty; } if (!String.IsNullOrEmpty(thisCol.CurrentFilterValue.ToString())) { thisCol.HeaderStyle.BackColor = System.Drawing.Color.DodgerBlue; thisCol.HeaderStyle.CssClass = "removeBackImg"; } else { thisCol.HeaderStyle.Reset(); AdjustHeaderStyle(thisCol, colProperties); } i++; } if (RadGrid1.MasterTableView.CssClass == "readjust") { RadGrid1.MasterTableView.FilterExpression = String.Empty; RadGrid1.MasterTableView.CssClass = String.Empty; } } } protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { string filter = RadGrid1.MasterTableView.FilterExpression.ToString().Replace("[", "").Replace("]", ""); TestBox.Text = "Filter: "; TestBox.Text += (!String.IsNullOrEmpty(filter) ? filter : "OFF");
RadGrid1.AllowPaging = !ExportAll; RadGrid1.MasterTableView.AllowPaging = !ExportAll; try { RadGrid1.DataSource = ThisData(Convert.ToDateTime(Master.StartTime), Convert.ToDateTime(Master.EndTime), int.Parse(Master.UnitId), filter); } catch (ApplicationException ex) { TestBox.Text = "DB Error: "; TestBox.Text += ex.Message.ToString(); } } private void MakeColumn(string[] col) { //Fill in missing properties with blanks string[] colProperties = new string[6] {"","","","","",""}; for (int x = 0; x < col.Length; x++) { colProperties[x] = col[x]; } //Use Template Column if (colProperties[2] == "check") { GridTemplateColumn checkColumn = new CheckColumnTemplate(); RadGrid1.MasterTableView.Columns.Add(checkColumn); checkColumn.DataField = colProperties[0]; checkColumn.UniqueName = colProperties[0]; checkColumn.FilterControlAltText = "Filter " + colProperties[0] + " column"; checkColumn.DataType = typeof(System.Decimal); checkColumn.HeaderText = colProperties[1]; checkColumn.ItemStyle.CssClass = "color1"; checkColumn.ItemTemplate = new CheckTemplate(colProperties[0]); AdjustHeaderStyle(checkColumn, colProperties); } //Use Normal Column else { GridBoundColumn Column = new GridBoundColumn(); RadGrid1.MasterTableView.Columns.Add(Column); Column.DataField = colProperties[0]; Column.SortExpression = colProperties[0]; Column.UniqueName = colProperties[0]; Column.FilterControlAltText = "Filter " + colProperties[0] + " column"; Column.HeaderText = colProperties[1]; Column.ItemStyle.Wrap = false; Column.FilterControlWidth = 50; switch (colProperties[2]) { case "date": Column.DataType = typeof(System.DateTime); Column.DataFormatString = "{0:MM/dd/yyyy HH:mm}"; break; case "smallInt": Column.DataType = typeof(System.Int16); Column.FilterControlWidth = Unit.Pixel(20); break; case "largeInt": Column.DataType = typeof(System.Int16); break; case "smallDec": Column.DataType = typeof(System.Decimal); break; case "largeDec": Column.DataType = typeof(System.Decimal); break; case "text": Column.DataType = typeof(System.String); break; default: Column.DataType = typeof(System.Decimal); break; } if (!String.IsNullOrEmpty(colProperties[3])) { Column.ItemStyle.CssClass = colProperties[3]; } else { Column.ItemStyle.CssClass = "color1"; } if (colProperties[4] == "sum") { Column.Aggregate = GridAggregateFunction.Sum; Column.FooterText = ""; Column.FooterAggregateFormatString = "{0:F1}"; Column.FooterStyle.CssClass = "footer"; } else if (colProperties[4] == "avg") { Column.Aggregate = GridAggregateFunction.Avg; Column.FooterText = ""; Column.FooterAggregateFormatString = "{0:F1}"; Column.FooterStyle.CssClass = "footer"; } else if (colProperties[4] == "first") { Column.FooterText = colProperties[5]; Column.FooterStyle.CssClass = "footer"; Column.FilterTemplate = new ClearAllFilterTemplate(); } if (!String.IsNullOrEmpty(colProperties[5])) { Column.HeaderTooltip = colProperties[5]; } AdjustHeaderStyle(Column, colProperties); } } private void AdjustHeaderStyle(GridColumn col, string[] colProperties) { if (colProperties[2] == "check") { GridTemplateColumn checkColumn = (GridTemplateColumn)col; checkColumn.HeaderStyle.CssClass = "check"; checkColumn.HeaderStyle.Width = Unit.Pixel(24); } else { GridBoundColumn Column = (GridBoundColumn)col; switch (colProperties[2]) { case "date": Column.HeaderStyle.CssClass = "date"; if (Fixed) { Column.HeaderStyle.Width = Unit.Pixel(120); } break; case "smallInt": Column.HeaderStyle.CssClass = "smallInt"; if (Fixed) { Column.HeaderStyle.Width = Unit.Pixel(30); } break; case "largeInt": if (Fixed) { Column.HeaderStyle.Width = Unit.Pixel(50); } break; case "smallDec": if (Fixed) { Column.HeaderStyle.Width = Unit.Pixel(50); } break; case "largeDec": if (Fixed) { Column.HeaderStyle.Width = Unit.Pixel(70); } break; case "text": if (Fixed) { Column.HeaderStyle.Width = Unit.Pixel(150); } break; default: if (Fixed) { Column.HeaderStyle.Width = Unit.Pixel(int.Parse(colProperties[2])); } break; } } } private class ClearAllFilterTemplate : ITemplate { protected Button btn; protected GridFilteringItem container; protected GridTableView RadGrid1; public void InstantiateIn(System.Web.UI.Control container) { btn = new Button(); btn.ID = "clearFilter_btn"; btn.Text = "Clear Filter"; btn.UseSubmitBehavior = false; btn.Click += new EventHandler(clearFilter_Click); container.Controls.Add(btn); } void clearFilter_Click(object sender, EventArgs e) { container = (GridFilteringItem)btn.NamingContainer; RadGrid1 = container.OwnerTableView; //RadGrid1.FilterExpression = "readjust"; RadGrid1.FilterExpression = String.Empty; foreach (GridColumn column in RadGrid1.Columns) { column.CurrentFilterFunction = GridKnownFunction.NoFilter; column.CurrentFilterValue = String.Empty; } RadGrid1.CssClass = "readjust"; RadGrid1.Rebind(); } } private class CheckColumnTemplate : GridTemplateColumn { protected DropDownList DDl; protected override void SetupFilterControls(TableCell cell) { base.SetupFilterControls(cell); cell.Controls.RemoveAt(0); DDl = new DropDownList(); DDl.ID = "ddl_" + this.DataField; ListItem blankItem = new ListItem("", ""); ListItem trueItem = new ListItem("True", "1"); ListItem falseItem = new ListItem("False", "0"); DDl.Items.Add(blankItem); DDl.Items.Add(trueItem); DDl.Items.Add(falseItem); DDl.AutoPostBack = true; DDl.SelectedIndexChanged += new EventHandler(FilterCombo_SelectedIndexChanged); cell.Controls.AddAt(0, DDl); cell.Controls.RemoveAt(1); DDl.DataTextField = this.DataField; DDl.DataValueField = this.DataField; } protected void FilterCombo_SelectedIndexChanged(object sender, EventArgs e) { DropDownList DDl = (DropDownList)sender; string filterType = DDl.SelectedValue == "" ? "NoFilter" : "EqualTo"; ((GridFilteringItem)(DDl.NamingContainer)).FireCommandEvent("Filter", new Pair(filterType, DDl.NamingContainer.ToString())); } protected override void SetCurrentFilterValueToControl(TableCell cell) { ((DropDownList)cell.Controls[0]).SelectedValue = this.CurrentFilterValue; } protected override string GetCurrentFilterValueFromControl(TableCell cell) { string currentValue = ((DropDownList)cell.Controls[0]).SelectedValue; this.CurrentFilterFunction = currentValue == "" ? GridKnownFunction.NoFilter : GridKnownFunction.EqualTo; return currentValue; } } private class CheckTemplate : ITemplate { protected Image img; private string colname; public CheckTemplate(string cName) { colname = cName; } public void InstantiateIn(System.Web.UI.Control container) { img = new Image(); img.ID = colname + "_img"; img.ImageAlign = ImageAlign.AbsMiddle; img.DataBinding += new EventHandler(boolValue_DataBinding); container.Controls.Add(img); } void boolValue_DataBinding(object sender, EventArgs e) { Image img = (Image)sender; GridDataItem container = (GridDataItem)img.NamingContainer; if ((((DataRowView)container.DataItem)[colname].ToString()) != "0") { img.ImageUrl = "~/images/CemsLive/radio_checked.png"; } else { img.ImageUrl = "~/images/CemsLive/radio_unchecked.png"; } } } public DataSet ThisData(DateTime Start_time, DateTime End_time, Int32 Unit_id, String Filter) { int dataCount; string Connection = DBConnect.Connect(); OracleConnection oCon = new OracleConnection(Connection); DataSet ds = new DataSet(); string CountQuery = "SELECT COUNT(*) " + "FROM FLINK.CEMS_HR_SOURCE hrdata " + "WHERE (UNIT_ID = :UNIT_ID) " + "AND (DATE_TIME >= :DATE_TIME) " + "AND (DATE_TIME <= :DATE_TIME2) "; if (!String.IsNullOrEmpty(Filter)) { CountQuery += "AND " + Filter; } OracleCommand cCmd = new OracleCommand(CountQuery, oCon); cCmd.CommandType = System.Data.CommandType.Text; OracleParameter count_Unit_id = new OracleParameter("UNITID", OracleDbType.Int32); count_Unit_id.Direction = ParameterDirection.Input; count_Unit_id.Value = Unit_id; cCmd.Parameters.Add(count_Unit_id); OracleParameter count_Start_time = new OracleParameter("DATE_TIME", OracleDbType.Date); count_Start_time.Direction = ParameterDirection.Input; count_Start_time.Value = Start_time; cCmd.Parameters.Add(count_Start_time); OracleParameter count_End_time = new OracleParameter("DATE_TIME2", OracleDbType.Date); count_End_time.Direction = ParameterDirection.Input; count_End_time.Value = End_time; cCmd.Parameters.Add(count_End_time); try { oCon.Open(); if (ReCount) { RadGrid1.CurrentPageIndex = 0; dataCount = Convert.ToInt32(cCmd.ExecuteScalar()); RadGrid1.VirtualItemCount = dataCount; RadGrid1.MasterTableView.VirtualItemCount = dataCount; } else { try { dataCount = int.Parse(Session["RowCount"].ToString()); } catch { RadGrid1.CurrentPageIndex = 0; dataCount = Convert.ToInt32(cCmd.ExecuteScalar()); RadGrid1.VirtualItemCount = dataCount; RadGrid1.MasterTableView.VirtualItemCount = dataCount; } } Session["RowCount"] = dataCount; int startRowIndex = (ExportAll ? 0 : RadGrid1.CurrentPageIndex * RadGrid1.PageSize); int maximumRows = (ExportAll ? dataCount : RadGrid1.PageSize); /*Move selected bottle to current location */ string NewQuery = "SELECT DATE_TIME, OPER_DATA, OPER_VALID_NOX, OPER_VALID_SO2, OPER_VALID_FLOW_STK, VALID_NOX_15MIN, " + "FLOW_GAS_TIME, FLOW_AUX_TIME, FLOW_OIL_TIME, LOAD_RANGE, CALIB_IN_PROG, MAINT, ANZR_OUT_CTL, " + "COMM_ALARM, ROUND(MWH_GROSS,2) AS MWH_GROSS, ROUND(MWH_NET,2) AS MWH_NET, ROUND(FLOW_GAS,2) AS FLOW_GAS, " + "ROUND(FLOW_AUX,2) AS FLOW_AUX, ROUND(FLOW_OIL,2) AS FLOW_OIL, ROUND(O2_RAW,2) AS O2_RAW, " + "ROUND(NOX_RAW,2) AS NOX_RAW, ROUND(NOX_RAW_BIAS_ADJ,2) AS NOX_RAW_BIAS_ADJ, ROUND(NOX_COR,2) AS NOX_COR, " + "ROUND(NH3_RAW,2) AS NH3_RAW, ROUND(NH3_COR,2) AS NH3_COR, ROUND(CO_RAW,2) AS CO_RAW, ROUND(CO_COR,2) AS CO_COR, " + "ROUND(FLOW_STACK,2) AS FLOW_STACK, ROUND(FLOW_STACK_BIAS_ADJ,2) AS FLOW_STACK_BIAS_ADJ, " + "ROUND(HEAT_TOTAL,2) AS HEAT_TOTAL, ROUND(HEAT_GAS,2) AS HEAT_GAS, ROUND(HEAT_AUX,2) AS HEAT_AUX, " + "ROUND(HEAT_OIL,2) AS HEAT_OIL, ROUND(F_FACTOR,2) AS F_FACTOR, ROUND(NOX_MASS_HR,2) AS NOX_MASS_HR, " + "ROUND(NOX_MASS_HR_BIAS_ADJ,2) AS NOX_MASS_HR_BIAS_ADJ, ROUND(NOX_MASS_BTU,2) AS NOX_MASS_BTU, " + "ROUND(NOX_MASS_BTU_BIAS_ADJ,2) AS NOX_MASS_BTU_BIAS_ADJ, ROUND(SO2_MASS_HR,2) AS SO2_MASS_HR, " + "ROUND(SO2_MASS_HR_BIAS_ADJ,2) AS SO2_MASS_HR_BIAS_ADJ, ROUND(SO2_MASS_HR_GAS,2) AS SO2_MASS_HR_GAS, " + "ROUND(SO2_MASS_HR_AUX,2) AS SO2_MASS_HR_AUX, ROUND(SO2_MASS_HR_OIL,2) AS SO2_MASS_HR_OIL, " + "ROUND(CO_MASS_HR_BIAS_ADJ,2) AS CO_MASS_HR_BIAS_ADJ, ROUND(CO2_MASS_HR,2) AS CO2_MASS_HR, " + "ROUND(HEAT_RATE,2) AS HEAT_RATE, AVAIL_NOX, METHOD_NOX, METHOD_CO2, METHOD_GAS, METHOD_AUX, METHOD_OIL " + "FROM ( " + "SELECT ROW_NUMBER() OVER (ORDER BY DATE_TIME) AS rn, hrdata.* " + "FROM FLINK.CEMS_HR_SOURCE hrdata " + "WHERE (UNIT_ID = :UNIT_ID) " + "AND (DATE_TIME >= :DATE_TIME) " + "AND (DATE_TIME <= :DATE_TIME2) "; if (!String.IsNullOrEmpty(Filter)) { NewQuery += "AND " + Filter; } //Insert filter here NewQuery += " ) WHERE rn BETWEEN :startRowIndex + 1 AND :startRowIndex + :maximumRows " + "ORDER BY DATE_TIME"; OracleCommand nCmd = new OracleCommand(NewQuery, oCon); nCmd.CommandType = System.Data.CommandType.Text; nCmd.BindByName = true; OracleParameter param_Unit_id = new OracleParameter("UNITID", OracleDbType.Int32); param_Unit_id.Direction = ParameterDirection.Input; param_Unit_id.Value = Unit_id; nCmd.Parameters.Add(param_Unit_id); OracleParameter param_Start_time = new OracleParameter("DATE_TIME", OracleDbType.Date); param_Start_time.Direction = ParameterDirection.Input; param_Start_time.Value = Start_time; nCmd.Parameters.Add(param_Start_time); OracleParameter param_End_time = new OracleParameter("DATE_TIME2", OracleDbType.Date); param_End_time.Direction = ParameterDirection.Input; param_End_time.Value = End_time; nCmd.Parameters.Add(param_End_time); OracleParameter param_StartRowIndex = new OracleParameter("startRowIndex", OracleDbType.Int32); param_StartRowIndex.Direction = ParameterDirection.Input; param_StartRowIndex.Value = startRowIndex; nCmd.Parameters.Add(param_StartRowIndex); OracleParameter param_maximumRows = new OracleParameter("maximumRows", OracleDbType.Int32); param_maximumRows.Direction = ParameterDirection.Input; param_maximumRows.Value = maximumRows; nCmd.Parameters.Add(param_maximumRows); OracleDataAdapter da = new OracleDataAdapter(nCmd); da.Fill(ds); } catch (Exception ex) { throw ex; } finally { //clean up the connection object oCon.Close(); oCon.Dispose(); } return ds; }}<telerik:RadScriptManager ID="rsMan" runat="server" OutputCompression="Forced" EnableScriptCombine="true" ScriptMode="Auto"> <CompositeScript> <Scripts> <asp:ScriptReference name="Telerik.Web.UI.Common.jQueryInclude.js" assembly="Telerik.Web.UI"/> <asp:ScriptReference name="MicrosoftAjax.js" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> <asp:ScriptReference name="MicrosoftAjaxWebForms.js" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> <asp:ScriptReference name="Telerik.Web.UI.Common.Core.js" assembly="Telerik.Web.UI, Version=2010.3.1317.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/> <asp:ScriptReference name="Telerik.Web.UI.Common.jQuery.js" assembly="Telerik.Web.UI, Version=2010.3.1317.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/> <asp:ScriptReference name="Telerik.Web.UI.Common.jQueryPlugins.js" assembly="Telerik.Web.UI, Version=2010.3.1317.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/> <asp:ScriptReference name="Telerik.Web.UI.Common.TouchScrollExtender.js" assembly="Telerik.Web.UI, Version=2010.3.1317.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/> <asp:ScriptReference name="Telerik.Web.UI.Common.Navigation.NavigationScripts.js" assembly="Telerik.Web.UI, Version=2010.3.1317.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/> <asp:ScriptReference name="Telerik.Web.UI.ComboBox.RadComboBoxScripts.js" assembly="Telerik.Web.UI, Version=2010.3.1317.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/> <asp:ScriptReference name="Telerik.Web.UI.Ajax.Ajax.js" assembly="Telerik.Web.UI, Version=2010.3.1317.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/> <asp:ScriptReference name="Telerik.Web.UI.Input.TextBox.RadInputScript.js" assembly="Telerik.Web.UI, Version=2010.3.1317.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/> <asp:ScriptReference Path="~/Scripts/jquery.jcarousel.min.js" /> <asp:ScriptReference Path="~/Scripts/scripts_011612.js" /> </Scripts> </CompositeScript> </telerik:RadScriptManager><telerik:RadToolTipManager ID="RadToolTipManager1" runat="server" HideEvent="ManualClose" ManualClose="True" Modal="true" ShowCallout="False" ShowEvent="OnClick" Position="Center" OnAjaxUpdate="RadToolTipManager1_AjaxUpdate" ShowDelay="0" RelativeTo="BrowserWindow" Height="400" Width="550" CssClass="ToolTip"> </telerik:RadToolTipManager><telerik:RadDatePicker ID="datePicker" runat="server" ShowPopupOnFocus="True" ZIndex="10000"></telerik:RadDatePicker><script type="text/javascript"> function GetGridServerElement(serverID, tagName) {
if (!tagName)
tagName = "*";
var grid = $get("<%=RadGridCG.ClientID %>");
var elements = grid.getElementsByTagName(tagName);
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
if (element.id.indexOf(serverID) >= 0)
return element;
}
}
function cmbBoClientSelectedIndexChangedHandler(sender, eventArgs) { var cmbCoquan = GetGridServerElement("cmbCoquan"); cmbCoquan.add_itemsRequested(cmbCoquanItemsRequested); cmbCoquan.requestItems(eventArgs.get_item().get_value(), false); } function cmbCoquanItemsRequested(sender, eventArgs) { if (sender.get_items().get_count() > 0) { // pre-select the first item sender.findItemByText(sender.get_items().getItem(0).get_text()).select(); } //detach the client items requested event as it not needed any more sender.remove_itemsRequested(cmbCoquanItemsRequested); }protected void RadGridCG_ItemCreated(object sender, GridItemEventArgs e){ if (e.Item is GridEditableItem && e.Item.IsInEditMode) { GridEditableItem editItem = (GridEditableItem)e.Item; RadComboBox cmbBo = (RadComboBox)editItem.FindControl("cmbBo"); RadComboBox cmbCoQuan = (RadComboBox)editItem.FindControl("cmbCoQuan"); cmbBo.OnClientSelectedIndexChanged = "cmbBoClientSelectedIndexChangedHandler"; cmbCoQuan.ItemsRequested += new RadComboBoxItemsRequestedEventHandler(cmbCoQuan_ItemsRequested); //cmbBo.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(cmbBo_SelectedIndexChanged); }}protected void cmbCoQuan_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e){ GridEditableItem editItem = (sender as RadComboBox).NamingContainer as GridEditableItem; RadComboBox cmbCoQuan = (RadComboBox)editItem.FindControl("cmbCoQuan"); cmbCoQuan.DataSource = LoadFilteredCoQuanManually(e.Value); cmbCoQuan.DataBind();}cmbBoClientSelectedIndexChangedHandler successed but i can't get the second radcombobox (cmbCoquan) , I use GetGridServerElement("cmbCoquan") method and this function not know this control as Radcombobox (error code on cmbCoquan.requestItems(eventArgs.get_item().get_value(), false))
My Question: How to get Radcombobox on RadGrid popup use Javascript function? Or plz show me demo code for Related combobox on Radgrid popup ( Editmode ="PopUp")