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.Data
Imports System.Data.SqlClient
Partial 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 Sub
End Class
This 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
Sub
ChartAxisItem 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 Sub
I 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