string connString = ConfigurationManager.ConnectionStrings["AnswergenDB"].ConnectionString; SqlConnection sconn = new SqlConnection(connString); sconn.Open(); SqlCommand sqlcmd = new SqlCommand("sp_Pivot", sconn); sqlcmd.CommandType = CommandType.StoredProcedure; sqlcmd.Parameters.Add("@pivot", "column84"); sqlcmd.Parameters.Add("@table", "Level_Zero"); sqlcmd.Parameters.Add("@expr1", "SUM(Level_Zero.Column35)"); sqlcmd.Parameters.Add("@expr2", "SUM(Level_Zero.Column52)"); sqlcmd.Parameters.Add("@expr3", "SUM(Level_Zero.Column33)"); sqlcmd.Parameters.Add("@exprcolumn1", "Payroll"); sqlcmd.Parameters.Add("@exprcolumn2", "Total Billed"); sqlcmd.Parameters.Add("@exprcolumn3", "Op Income"); SqlDataReader pvtdr = sqlcmd.ExecuteReader(CommandBehavior.CloseConnection); DataTable pvtdt = new DataTable(); pvtdt.Load(pvtdr); string pvtqry = string.Empty; foreach (DataRow row in pvtdt.Rows) { for (int i = 0; i < pvtdt.Columns.Count-1; i++) { pvtqry += row[i].ToString(); } } pvtqry = pvtqry.Substring(0, pvtqry.Length - 1); pvtqry = "select column2, " + pvtqry + " from level_zero group by column2 order by column2"; sconn.Open(); sqlcmd = new SqlCommand(pvtqry, sconn); sqlcmd.CommandType = CommandType.Text; pvtdr = sqlcmd.ExecuteReader(CommandBehavior.CloseConnection); DataTable pvttable = new DataTable(); pvttable.Load(pvtdr); PivotGrid.DataSource = pvttable; PivotGrid.DataBind();
The above query returns 1024 columns with 400 rows which takes about 6 to 7 minutes to bind the datas to radgrid. The query is getting executed in 8 secs, but binding it to the grid takes time. Since the query building is dynamic, there are possiblities to have more columns binded. Can some one suggest me in binding the records faster.
Thanks in advance.
Sangeetha
aspx:<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %><%@ 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 runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" AutoGenerateColumns="true" PagerStyle-AlwaysVisible="true" GridLines="None" PageSize="8" SelectedItemStyle-BackColor="#ffff99" Skin="Web20"> <PagerStyle Mode="NextPrevAndNumeric" PageButtonCount="8" /> <ClientSettings> <Selecting AllowRowSelect="True" /> </ClientSettings> </telerik:RadGrid> </div> </form></body></html>vb:Imports System.DataImports System.Data.SqlClientPartial Public Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Try Dim cn As New SqlConnection("Data Source =(local);Initial Catalog = test;User id = sa;Password = test@123") Dim da As New SqlDataAdapter("select * from t", cn) Dim ds As New DataSet da.Fill(ds, "dt") RadGrid1.DataSource = ds.Tables(0) Catch ex As Exception End Try End SubEnd ClassThis is the problem I'm having:
I have
<
telerik:RadSplitter
<telerik:RadPane
<telerik:RadTabStrip
The Tabstrip is connected to MultiPage.
One of the pages has RadTreeVew with its content being populated dynamically.
When I expand the tree nodes to the point the their height exceeds the height of the panel the scroll bar apprears but when I scroll it the tabs scroll alone with it.
I believe the tabs should stay in their position.
I believe the scroll bar belongs to the panel on which the Tree is located but I believe that the TreeView's scroll bar should be displayed.
<%
@ Control Language="C#" AutoEventWireup="true" CodeFile="ContentPanel.ascx.cs" Inherits="ContentPanel" %>
<%
@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<
telerik:RadSplitter ID="RadSplitter1" Runat="server" Width="100%"
Skin="Vista">
<telerik:RadPane ID="RadPane1" Runat="server" width="30%" Scrolling="Both">
<telerik:RadTabStrip ID="TOCTab" runat="server" SelectedIndex="3" MultiPageID="MultiPageProjects"
Skin="Web20" PerTabScrolling="True" ScrollChildren="True">
<tabs>
<telerik:RadTab runat="server" Text="TOC" ScrollChildren="true">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="Figures">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="Tables">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="Search" Selected="True">
</telerik:RadTab>
</tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage ID="MultiPageProjects" runat="server" SelectedIndex="3"
CssClass="multiPage" ScrollBars="Auto">
<telerik:RadPageView ID="PageViewTOC" runat="server" Width="100%"
Selected="True">
<telerik:RadTreeView ID="TOCTree" Runat="server" Skin="Hay">
</telerik:RadTreeView>
</telerik:RadPageView>
<telerik:RadPageView ID="PageViewExchanges" runat="server"
CssClass="pageViewEducation" Width="100%" Height="100%">
</telerik:RadPageView>
<telerik:RadPageView ID="RadPageView3" runat="server">
</telerik:RadPageView>
<telerik:RadPageView ID="RadPageView4" runat="server" Width="100%"
Height="100%">
</telerik:RadPageView>
</telerik:RadMultiPage>
</
telerik:RadPane>
<telerik:RadSplitBar ID="RadSplitBar1" runat="server">
</telerik:RadSplitBar>
<telerik:RadPane ID="RadPane2" Runat="server">
second pane
</telerik:RadPane>
</telerik:RadSplitter>
Protected Sub Menu_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadMenuEventArgs) Handles Menu.ItemDataBound Dim menuItem = DirectCast(e.Item.DataItem, dsAdmin.MenuItemRow) If menuItem.MenuItemType = "Separator" Then e.Item.IsSeparator = True End If End SubChartAxisItem xItem = RadChartRiding.PlotArea.XAxis[i];xItem.TextBlock.Text = string.Format("{2}{0}\n{1}", r["firstName"], r["lastName"], (i == d.Rows.Count - 1 ? " - LEADER -\n" : ""));xItem.TextBlock.Appearance.FillStyle.FillType = Telerik.Charting.Styles.FillType.Image;xItem.TextBlock.Appearance.FillStyle.FillSettings.BackgroundImage = string.Format("images/elections/{0}Icon.png", barCode[i]);xItem.TextBlock.Appearance.Dimensions.AutoSize = false;xItem.TextBlock.Appearance.FillStyle.FillSettings.ImageDrawMode = Telerik.Charting.Styles.ImageDrawMode.Align;xItem.TextBlock.Appearance.FillStyle.FillSettings.ImageAlign = Telerik.Charting.Styles.ImageAlignModes.TopLeft;xItem.TextBlock.Appearance.Position.AlignedPosition = Telerik.Charting.Styles.AlignedPositions.TopRight;xItem.TextBlock.Appearance.Dimensions.Height = 75;xItem.TextBlock.Appearance.Dimensions.Width = 330;xItem.TextBlock.Appearance.Dimensions.Paddings.Top = (i == d.Rows.Count - 1 ? 10 : 20);Public Sub Test ()For each item as GridDataItem in RadGrid1.Items Dim i as integer = item.ItemIndex ' (Item.ItemIndex always returns as 0 )Next End SubI have a datagrid that gets filled serverside with he DataSource.
When deleting a item I use the RadGrid1_DeleteCommand event and apply the following code to get the item I have to delete.
void RadGrid1_DeleteCommand(object sender, GridCommandEventArgs e)
{
GridEditableItem item = (GridEditableItem)e.Item;
dynamic DynamicBusinessObject = (item.OwnerTableView.DataSource as IEnumerable<dynamic>).ToList()[item.DataSetIndex];
This normally works great however when the user applies a filter to a column the DataSetIndex returns me the index-number of filtered page, not the corresponding index in the item.OwnerTableView.DataSource.
Much like ItemIndex will do when I’m on another page then page 1 within a grid.
How to get the corresponding item.OwnerTableView.DataSource index-number (or object) of the item.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="Amlak.WebForm4" %><%@ 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 runat="server"> <title></title></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <div> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadComboBox1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="CheckBox1" UpdatePanelRenderMode="Inline" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadComboBox ID="RadComboBox1" runat="server" AutoPostBack="True" AppendDataBoundItems="True" OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged"> <Items> <telerik:RadComboBoxItem runat="server" Text="1" Value="1" /> <telerik:RadComboBoxItem runat="server" Text="2" Value="2" /> <telerik:RadComboBoxItem runat="server" Text="3" Value="3" /> <telerik:RadComboBoxItem runat="server" Text="4" Value="4" /> </Items> </telerik:RadComboBox> <br /> <br /> <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" Text="Check Me" TextAlign="Left" /> <br /> <br /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div> </form></body></html>
My code behind is like this:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls; namespace Amlak{ public partial class WebForm4 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void RadComboBox1_SelectedIndexChanged(object sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e) { if (RadComboBox1.SelectedItem.Value == "2") { CheckBox1.Checked = true; } else { CheckBox1.Checked = false; } } protected void CheckBox1_CheckedChanged(object sender, EventArgs e) { if (CheckBox1.Checked) { TextBox1.Text = "text"; } else { TextBox1.Text = ""; } } }}
My goals:
I want to force RadComboBox1 to work in AJAX mode
and change the CheckBox1.Checked by defined conditions in code behind.
-> do not want postback for this.
I want to force CheckBox1 to work in PostBack mode and change the TextBox1.text by defined conditions in code behind. -> I want postback for this.
In this scenario -> RadComboBox1 works fine
but I don't know why OnCheckedChanged="CheckBox1_CheckedChanged" does not fire when we change check of CheckBox1! (because we added it as update of RadComboBox1 In RadAjaxManager1).
My questions:
1-Should I add RadComboBox1 as update Of RadComboBox1 or not? However it works fine without adding this.
2-If we add ChechBox1 To RadAjaxManager1 like below:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="Amlak.WebForm4" %> <%@ 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 runat="server"> <title></title></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <div> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadComboBox1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="CheckBox1" UpdatePanelRenderMode="Inline" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="CheckBox1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="TextBox1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadComboBox ID="RadComboBox1" runat="server" AutoPostBack="True" AppendDataBoundItems="True" OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged"> <Items> <telerik:RadComboBoxItem runat="server" Text="1" Value="1" /> <telerik:RadComboBoxItem runat="server" Text="2" Value="2" /> <telerik:RadComboBoxItem runat="server" Text="3" Value="3" /> <telerik:RadComboBoxItem runat="server" Text="4" Value="4" /> </Items> </telerik:RadComboBox> <br /> <br /> <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" Text="Check Me" TextAlign="Left" /> <br /> <br /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div> </form></body></html>
So it works fine in AJAX mode, but I want to force CheckBox1 to work in PostBack!
How can I fix this issue?
3-Should I add TextBox1 as update of RadComboBox1 in RadAjaxManager or not?
Thanks for attention to my question.
best regards