|
|
Line 65: Next |
<%
@ Page Language="C#" MasterPageFile="~/DealerFinance.master" AutoEventWireup="true" CodeFile="DealerList.aspx.cs" Inherits="Dealer_DealerList" Title="Untitled Page" %>
<%
@ MasterType VirtualPath="~/DealerFinance.master" %>
<%
@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<
asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</
asp:Content>
<
asp:Content ID="Content2" ContentPlaceHolderID="DealerFinancePlaceHolder" Runat="Server">
<table>
<tr>
<td align="left">
<asp:Button ID="btnSearch" runat="server" CausesValidation="false" SkinID="DisplayButton"
Text="Search" />
</td>
</tr>
<tr>
<td>
<telerik:RadGrid ID="grdDealerList" runat="server" >
</telerik:RadGrid>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</td>
</tr>
</table>
<telerik:radwindow openerelementid="<%# btnSearch.ClientID %>" navigateurl="DealersSearch.aspx"
runat="server" width="400px" height="350px" id="Radwindow4" visiblestatusbar="false"
skin="Mac"></telerik:radwindow>
</
asp:Content>
ASPX :using
System;
using
System.Collections;
using
System.Configuration;
using
System.Data;
using
System.Linq;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.HtmlControls;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Xml.Linq;
using
Telerik.Web.UI;
using
System.Data.SqlClient;
using
System.Xml;
public
partial class Dealer_DealerList : System.Web.UI.Page
{
public string searchCondition = "";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Master.SelectedDealerTab = 1;
DealSearchFields dealerSeachFieldsObj = (DealSearchFields)Session["DealerSearchFields"];
if (dealerSeachFieldsObj != null)
{
searchCondition = dealerSeachFieldsObj.DealerNumber;
}
else
{
searchCondition =
"";
}
}
}
protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
grdDealerList.DataSource = BindGrid();
}
private DataTable BindGrid()
{
string sql = "SELECT ROW_ID ,DEALER_NUM ,NAME, LEGAL_NAME, SALES_DISTRICT, BUSINESS_TYPE FROM KF_DEALER where DEALER_NUM LIKE '%" + searchCondition + "%' order by DEALER_NUM";
SqlDataAdapter adapter = new SqlDataAdapter(sql,
ConfigurationManager.ConnectionStrings["KC_DealerFinanceConnectionString"].ConnectionString);
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}
protected void RadGrid1_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.CommandName == "Select")
{
GridDataItem dataItem = (GridDataItem)e.Item;
string strTxt = dataItem.GetDataKeyValue("DEALER_NUM").ToString();
string rowID = dataItem.GetDataKeyValue("ROW_ID").ToString();
Response.Redirect(
"DealerDetails.aspx");
}
}
protected void Page_Init(object sender, System.EventArgs e)
{
DefineGridStructure();
}
private void DefineGridStructure()
{
//RadGrid grdDealerList = new RadGrid();
//grdDealerList.ID = "RadGrid1";
grdDealerList.NeedDataSource +=
new GridNeedDataSourceEventHandler(this.RadGrid1_NeedDataSource);
grdDealerList.ItemCommand +=
new GridCommandEventHandler(this.RadGrid1_ItemCommand);
//grdDealerList.DataSource = BindGrid();
grdDealerList.Skin =
"Inox";
//grdDealerList.Width = Unit.Percentage(100);
grdDealerList.PageSize = 5;
grdDealerList.AllowPaging =
true;
grdDealerList.PagerStyle.Mode =
GridPagerMode.NextPrevAndNumeric;
grdDealerList.AutoGenerateColumns =
false;
//grdDealerList.GroupingEnabled = true;
//grdDealerList.ShowGroupPanel = true;
grdDealerList.ShowStatusBar =
true;
grdDealerList.ClientSettings.AllowDragToGroup =
true;
grdDealerList.AllowSorting =
true;
grdDealerList.Width =
Unit.Percentage(100);
grdDealerList.MasterTableView.PageSize = 15;
grdDealerList.MasterTableView.DataKeyNames =
new string[] { "ROW_ID", "DEALER_NUM" };
GridButtonColumn selectColumn = new GridButtonColumn();
selectColumn.DataTextField =
"DEALER_NUM";
selectColumn.CommandArgument =
"DEALER_NUM";
selectColumn.CommandName =
"Select";
selectColumn.HeaderText =
"DealerNumber";
//selectColumn.
grdDealerList.MasterTableView.Columns.Add(selectColumn);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Request.MapPath(
"~/App_Data/DataMapping.xml"));
XmlNodeList columnNodeList = XML.GetNodeList("/DealerGrids/DealerGrid[@Name ='DealerList']/Columns/Column", xmlDoc);
foreach (XmlNode columnNode in columnNodeList)
{
string headerText = "";
headerText =
XML.GetAttributeValue("/Column", "DisplayText", columnNode.OuterXml);
if (headerText != null && headerText.Length > 0)
{
GridBoundColumn boundColumn = new GridBoundColumn();
boundColumn.DataField =
XML.GetAttributeValue("/Column", "TableColumnName", columnNode.OuterXml);
boundColumn.HeaderText = headerText;
grdDealerList.MasterTableView.Columns.Add(boundColumn);
}
}
this.PlaceHolder1.Controls.Add(grdDealerList);
}
}
XML :<
DealerGrids>
<
DealerGrid Name="DealerList">
<
Columns>
<
Column TableColumnName="ROW_ID" DisplayText="" isDataKey="true" />
<
Column TableColumnName="DEALER_NUM" DisplayText="Dealer Number" isDataKey="true" />
<
Column TableColumnName="NAME" DisplayText="Dealer Name" isDataKey="true" />
<
Column TableColumnName="LEGAL_NAME" DisplayText="Legal Name" isDataKey="false" />
<
Column TableColumnName="SALES_DISTRICT" DisplayText="District" isDataKey="false" />
<
Column TableColumnName="BUSINESS_TYPE" DisplayText="Business Type" isDataKey="false" />
</
Columns>
</
DealerGrid>
</
DealerGrids>
<%
@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<telerik:RadPanelbar ID="RadPanelbar1" runat="server" Width="100%" Skin="Outlook" OnPanelItemDataBound="RadPanelbar1_OnPanelItemDataBound" ImagesBaseDir="~/img/" PersistStateInCookie="True">
</telerik:RadPanelbar>
Code behind
using
Telerik.Web.UI;
//RadPanelbarPanelItemDataBoundEventArgs namespace can not be found! I can't figure out why?
protected void RadPanelbar1_OnPanelItemDataBound(object sender, RadPanelbarPanelItemDataBoundEventArgs e)
{
if (!e.DataBoundDataRow.IsNull("Image"))
{
e.Item.ImageUrl = (
string)DataBinder.Eval(e.Item.DataItem, "image");
e.Item.ImageOverUrl = (
string)DataBinder.Eval(e.Item.DataItem, "image");
e.Item.ExpandedImageUrl = (
string)DataBinder.Eval(e.Item.DataItem, "image");
}
}
//Bind database to RadPanelBar. This works
DataSet ds = new DataSet();
da.Fill(ds);
RadPanelbar1.DataSource = ds;
RadPanelbar1.DataFieldID =
"ID";
RadPanelbar1.DataFieldParentID =
"ParentID";
RadPanelbar1.DataTextField =
"Text";
RadPanelbar1.DataValueField =
"ID";
RadPanelbar1.DataNavigateUrlField =
"URL";
RadPanelbar1.DataBind();
Hi I am using rad treeview control which will have more than 500 nodes at any point of time. I am using Server Side as the expand mode as attributes are attached to the nodes. I am also using radajaxmanager to ajaxify the node expansion.
with IE 7 it takes almost 10-15 seconds to fully render the tree after expansion at the same time it takes hardly 3-4 seconds in safari.
I am using master page inmy application and various other rad controls like rad grid, rad splitter, rad pane and rad window.
I tried with UseEmbeddedScripts="false" but of no use.
Is radtree is not advisable with this many number of nodeds in container pages or IE?
The performance is very good in safari and poor in IE7.
Thanks
-Ankur