I created grid dynamically and placed button on the page.It is working fine except column width when i browse the page first time.
I am also displaying seach conditions in RadWindow when user clicks on button.
Note : I created xml file for columns definations and using to generate the bound columns.
1. I am getting extra columns when i click on pager to selct particular page or column for sort.This is exactly the same number of columns in the grid.
Let assume, I am displaying 5 columns in grid. It is displaying 10 columns after i clicked on paging or sorting, third time 15 and so on. I am not really sure how and where these columns are creating. the value in extra columns is System.Data.DataRowView.
2.4. I am getting the popup with retry and cancel buttons with the below message when i seach the records other than first page or before selecting the column sort or paging. Can you please advice me on this?
To Display the webpage again, Internet Explorer needs to resend the information you've previously submited
If you were making a purchase, you should click Cancel to avoid a duplicate transaction. Otherwise, click Retry to display the webpage again.
3. the sort image is coming second line when i click on column for sort. Can please help me to fix this issue?
4. Select Column with is very large when i browse the first time. But it is adjusting the column width automatically after i click on paging or sorting. Can please help me to fix this issue?
5. I set EnableAjax = true but still it is doing post back. Can please help me to fix this issue?
I pasted code below because i didn't see any buttom for file attachment.
Page 1:
HTML :
<%
@ 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="Content2" ContentPlaceHolderID="DealerFinancePlaceHolder" Runat="Server">
<
script language="javascript" type="text/javascript">
function LookupParameter()
{
var popWin = window.open('DealersSearch.aspx','SearchDealer','width=400,height=350,top=100,toolbar=no,location=no,directories=no,status=no,scrollbars=no,menubar=no,resizable=yes,left=200','');
// window.open('/DealersFinanceApplication/Dealer/DealersSearch.aspx', 'Sai', '','');
popWin.focus();
return false;
}
function ParentFormPostBack()
{
__doPostBack(
'btnSearch','');
}
</
script>
<table>
<tr>
<td align="left">
<!-- <asp:Button ID="tempbtnSearch" runat="server" CausesValidation="false" OnClientClick="LookupParameter()" SkinID="DisplayButton"
Text="Search" /> -->
<asp:Button ID="btnSearch" runat="server" CausesValidation="false" SkinID="DisplayButton"
Text="Search" />
</td>
</tr>
<tr>
<td>
<telerik:RadGrid ID="grdDealerList" runat="server" AllowSorting="true" ItemStyle-BackColor= "AliceBlue" AlternatingItemStyle-BackColor="#ffffff" GridLines="None">
</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="450px" id="Radwindow4" visiblestatusbar="false"
skin="Mac"></telerik:radwindow>
</
asp:Content>
codebehind:
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;
using
System.Drawing;
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 = "";
//}
//btnSearch.Attributes.Add("onclick", "return LookupParameter();");
//Dynaic code for Rad Grid Starts here
}
}
protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
grdDealerList.DataSource = BindGrid();
}
private DataTable BindGrid()
{
string searchCondition = "";
DealSearchFields dealerSeachFieldsObj = (DealSearchFields)Session["DealerSearchFields"];
if (dealerSeachFieldsObj != null)
{
searchCondition = dealerSeachFieldsObj.DealerNumber;
}
else
{
searchCondition =
"";
}
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(
"/DealersFinanceApplication/Dealer/DealerDetails.aspx");
}
}
protected void Page_Init(object sender, System.EventArgs e)
{
DefineGridStructure();
}
private void DefineGridStructure()
{
bool isFromWindow = Convert.ToBoolean(Session["IsFromWindow"]);
//RadGrid grdDealerList = new RadGrid();
//grdDealerList.ID = "RadGrid1";
if (isFromWindow)
{
grdDealerList.DataSource =
"";
grdDealerList.Rebind();
}
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.ItemStyle.CssClass =
"RadGrid";
grdDealerList.MasterTableView.PageSize = 30;
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.DataTextFormatString =
"<nobr>{0}</nobr>";
selectColumn.SortExpression =
"DEALER_NUM";
//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;
boundColumn.DataFormatString =
"<nobr>{0}</nobr>";
grdDealerList.MasterTableView.Columns.Add(boundColumn);
}
}
this.PlaceHolder1.Controls.Add(grdDealerList);
if (isFromWindow)
{
grdDealerList.DataSource = BindGrid();
grdDealerList.Rebind();
}
Session[
"IsFromWindow"] = false;
}
//public readonly RadGrid DealerListGrid
//{
// get
// {
// return grdDealerList;
// }
//}
}
Page 2(Which i am displaying in radwindow)
<%
@ Page Language="C#" AutoEventWireup="true" CodeFile="DealersSearch.aspx.cs" Inherits="Dealer_DealersSearch" %>
<!
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><%=Resources.DealerFinance.DealerSearchHeader%></title>
<script language="javascript" type="text/javascript">
//This code is used to provide a reference to the radwindow "wrapper"
function GetRadWindow()
{
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;//IE (and Moz az well)
return oWindow;
}
function CloseOnReloadandReLoad()
{
RefreshParentPage();
//GetRadWindow().Close();
}
function CloseOnReload()
{
GetRadWindow().Close();
}
function RefreshParentPage()
{
GetRadWindow().BrowserWindow.location.reload();
}
function SelectAgency(code, name)
{
window.close();
window.opener.ParentFormPostBack(
'','');
window.opener.focus();
}
</script>
</
head>
<
body>
<form id="form1" runat="server">
<asp:Label ID="InjectScript" runat="server"></asp:Label>
<table>
<tr>
<td align="center" nowrap="nowrap" colspan="3" >
<div class="TitleTextNormal"> <%=Resources.DealerFinance.DealerSearchHeader%> </div>
</td>
</tr>
<tr>
<td height="10px" align="center" nowrap="nowrap" colspan="3" >
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.LegalName%>
</td>
<td align="left">
<asp:TextBox ID="txtLegalName" TabIndex="100" runat="server" MaxLength="30" size="30" ></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.DBAName%>
</td>
<td align="left">
<asp:TextBox ID="txtDBAName" TabIndex="101" runat="server" MaxLength="30" size="30"></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.KawasakiName%>
</td>
<td align="left">
<asp:TextBox ID="txtKawasakiName" TabIndex="102" runat="server" MaxLength="30" size="30"></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.Address%>
</td>
<td align="left">
<asp:TextBox ID="txtAddress" TabIndex="103" runat="server" MaxLength="30" size="30"></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.City%>
</td>
<td align="left">
<asp:TextBox ID="txtCity" TabIndex="104" runat="server" MaxLength="30" size="20"></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.State%>
</td>
<td align="left">
<asp:TextBox ID="txtState" TabIndex="105" runat="server" MaxLength="10" size="10"></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.Zip%>
</td>
<td align="left">
<asp:TextBox ID="txtZip" TabIndex="106" runat="server" MaxLength="10" size="10"></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.PrincipalLastName%>
</td>
<td align="left">
<asp:TextBox ID="txtPrincipalLastName" TabIndex="107" runat="server" MaxLength="30"
size="30"></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.PrincipalSSN%>
</td>
<td align="left">
<asp:TextBox ID="txtPrincipalSSN" TabIndex="108" runat="server" MaxLength="10" size="10"></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">
<%
=Resources.DealerFinance.DealerNumber%>
</td>
<td align="left">
<asp:TextBox ID="txtDealerNumber" TabIndex="109" runat="server" MaxLength="10" size="10"></asp:TextBox>
</td>
<td align="right" width="10px">
</td>
</tr>
<tr>
<td align="center" colspan="2">
<br />
<!-- <asp:Button ID="btnSearch" runat="server" CausesValidation="false" OnClick="btnSearch_Click"
SkinID="DisplayButton" Text="Search" OnClientClick="SelectAgency()" /> -->
<asp:Button ID="Button1" runat="server" CausesValidation="false" OnClick="btnSearch_Click"
SkinID="DisplayButton" Text="Search" />
<asp:Button ID="btnCancel" runat="server" CausesValidation="false" OnClick="btnCancel_Click"
SkinID="DisplayButton" Text="Cancel" />
</td>
<td align="right" width="10px">
</td>
</tr>
</table>
</form>
</
body>
</
html>
code behind:
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;
public
partial class Dealer_DealersSearch : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Teleric
this.Page.DataBind();
}
protected void btnSearch_Click(object sender, EventArgs e)
{
DealSearchFields dealerSearchFileldsObj = new DealSearchFields();
dealerSearchFileldsObj.LegalName = txtLegalName.Text;
dealerSearchFileldsObj.DBAName = txtDBAName.Text;
dealerSearchFileldsObj.KawasakiName = txtKawasakiName.Text;
dealerSearchFileldsObj.Address = txtAddress.Text;
dealerSearchFileldsObj.City = txtCity.Text;
dealerSearchFileldsObj.State = txtState.Text;
dealerSearchFileldsObj.Zip = txtZip.Text;
dealerSearchFileldsObj.PrincipalLastName = txtPrincipalLastName.Text;
dealerSearchFileldsObj.PrincipalSSN = txtPrincipalSSN.Text;
dealerSearchFileldsObj.DealerNumber = txtDealerNumber.Text;
//
Session[
"DealerSearchFields"] = dealerSearchFileldsObj;
Session[
"IsFromWindow"] = true;
//Teleric
InjectScript.Text =
"<script>CloseOnReloadandReLoad()</" + "script>";
}
protected void btnCancel_Click(object sender, EventArgs e)
{
//Teleric
InjectScript.Text =
"<script>CloseOnReload()</" + "script>";
}
}
Master Page:
@ Master Language="C#" AutoEventWireup="true" CodeFile="DealerFinance.master.cs" Inherits="DealerFinance"
%>
@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik"%>
html xmlns
="http://www.w3.org/1999/xhtml">
head runat="server">
<title>Untitled Page</title
>
<link href="App_Themes/DealerFinance/DealerFinance.css" rel="Stylesheet" type="text/css"
/>
<link href="JavaScript/DealerFinance.js" type="text/javascript"
/>
<asp:ContentPlaceHolder ID="head" runat
="server">
</asp:ContentPlaceHolder
>
head>
body>
<form id="form1" runat
="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat
="server">
</telerik:RadScriptManager
>
<table
>
<tr
>
<td
>
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" BorderColor
="Silver">
<telerik:RadTabStrip ID="rtsDealerMenu" runat="server" Skin="Web20" SelectedIndex
="0">
</telerik:RadTabStrip
>
</telerik:RadAjaxPanel
>
</td
>
</tr
>
<tr
>
<td
>
<asp:ContentPlaceHolder ID="DealerFinancePlaceHolder" runat
="server">
</asp:ContentPlaceHolder
>
</td
>
</tr
>
</table
>
</form
>
body>
html>
Master Page Code behind :