Thanks for the reply, here is what I am currently using:
VS2010 Premium ver. 10.0.30319.1 RTMRel
.Net Framework ver. 4.0.30319 RTMRel
markup and code...
<
asp:Content
ID
=
"content"
ContentPlaceHolderID
=
"DefaultContent"
runat
=
"Server"
>
<
telerik:RadAjaxManager
ID
=
"CreateDealRadAjaxManager"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"DealSearchRadGrid"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"DealSearchRadGrid"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"ClearFiltersLinkButton"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"DealSearchRadGrid"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"ClearFiltersLinkButton"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
div
id
=
"DealSearchWrapper"
class
=
"clearfix"
style="width: 100%; margin-top: 20px;
float: left">
<
telerik:RadGrid
ID
=
"DealSearchRadGrid"
runat
=
"server"
DataSourceID
=
"DealSearchSqlDataSourceID"
AllowFilteringByColumn
=
"True"
GridLines
=
"None"
AllowPaging
=
"True"
AutoGenerateColumns
=
"False"
ShowGroupPanel
=
"false"
Skin
=
"Black"
OnItemCommand
=
"DealSearchEditCommand"
OnItemDataBound
=
"DealSearchRadGridItemDataBound"
>
<
MasterTableView
GridLines
=
"Horizontal"
AllowFilteringByColumn
=
"true"
TableLayout
=
"Auto"
DataKeyNames
=
"EntityID, StatusCodeID"
>
<
Columns
>
<
telerik:GridTemplateColumn
HeaderText
=
"Action"
UniqueName
=
"TemplateColumn"
AllowFiltering
=
"false"
>
<
ItemTemplate
>
<
asp:LinkButton
ID
=
"ViewDealLinkButton"
runat
=
"server"
Text
=
"View"
CommandName
=
"Custom"
CommandArgument
=
"View"
></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"EditDealLinkButton"
runat
=
"server"
Text
=
"Edit"
CommandName
=
"Custom"
CommandArgument
=
"Edit"
></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"VoidDealLinkButton"
runat
=
"server"
Text
=
"Void"
CommandName
=
"Custom"
CommandArgument
=
"Void"
></
asp:LinkButton
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
FilterControlAltText
=
"Filter Customer Name/Number"
HeaderText
=
"Customer Name/Number"
UniqueName
=
"CustomerNameNumber"
DataField
=
"CustomerNameNumber"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
FilterControlAltText
=
"Filter Retailer"
HeaderText
=
"Retailer"
UniqueName
=
"Retailer"
DataField
=
"Retailer"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
CommandItemSettings
ExportToPdfText
=
"Export to Pdf"
ExportToExcelText
=
"Export to Excel"
>
</
CommandItemSettings
>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
EditFormSettings
EditFormType
=
"Template"
>
</
EditFormSettings
>
</
MasterTableView
>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
FilterMenu
EnableImageSprites
=
"False"
>
</
FilterMenu
>
<
HeaderContextMenu
CssClass
=
"GridContextMenu GridContextMenu_Default"
>
</
HeaderContextMenu
>
<
ClientSettings
AllowDragToGroup
=
"false"
>
<
Scrolling
AllowScroll
=
"true"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
<
div
class
=
"contentButtonContainer"
style
=
"float: right;"
>
<
div
class
=
"formControl"
>
<
asp:LinkButton
ID
=
"ClearFiltersLinkButton"
runat
=
"server"
CssClass
=
"searchButton"
Text
=
"Clear Filters"
Width
=
"100px"
Style
=
"text-align: center"
OnClick
=
"ClearFiltersClick"
>
</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"ExportToExcelLinkButton"
runat
=
"server"
CssClass
=
"searchButton"
Text
=
"Export To Excel"
OnClick
=
"ExportToExcelClick"
Width
=
"100px"
Style
=
"text-align: center"
>
</
asp:LinkButton
>
</
div
>
</
div
>
</
div
>
<
telerik:RadAjaxLoadingPanel
HorizontalAlign
=
"center"
BackColor
=
"#ffffff"
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Transparency
=
"30"
Height
=
"100%"
Width
=
"100%"
>
<
table
width
=
"100%"
style
=
"height: 100%"
>
<
tr
>
<
td
>
<
img
src
=
"/App_Themes/images/ajax-loader.gif"
/>
</
td
>
</
tr
>
</
table
>
</
telerik:RadAjaxLoadingPanel
>
<
asp:SqlDataSource
ID
=
"DealSearchSqlDataSourceID"
runat
=
"server"
></
asp:SqlDataSource
>
</
asp:Content
>
private
DealSearchPresenter _presenter;
[CreateNew]
public
DealSearchPresenter Presenter
{
get
{
return
this
._presenter;
}
set
{
if
(value ==
null
)
throw
new
ArgumentNullException(
"value"
);
this
._presenter = value;
this
._presenter.View =
this
;
}
}
protected
void
Page_Load(
object
sender, EventArgs e)
{
//Telerik Hack because on the first clear filter press its throws a js error Error 'get_postBackElement().id' is null or not an object
this
.Page.ClientIDMode = System.Web.UI.ClientIDMode.AutoID;
if
(!
this
.IsPostBack)
{
this
._presenter.OnViewInitialized();
}
this
._presenter.OnViewLoaded();
SetupSQLDataSourceForFilteredGrid();
}
private
void
SetupSQLDataSourceForFilteredGrid()
{
DealSearchSqlDataSourceID.ConnectionString = ConfigurationManager.ConnectionStrings[
"ApplicationConnectionString"
].ConnectionString;
DealSearchSqlDataSourceID.SelectCommandType = SqlDataSourceCommandType.StoredProcedure;
DealSearchSqlDataSourceID.SelectCommand =
"somesproc"
;
DealSearchSqlDataSourceID.ProviderName =
"System.Data.SqlClient"
;
}
public
void
ConfigureExport()
{
DealSearchRadGrid.ExportSettings.ExportOnlyData =
true
;
DealSearchRadGrid.ExportSettings.IgnorePaging =
true
;
DealSearchRadGrid.ExportSettings.OpenInNewWindow =
true
;
}
#region events
protected
void
DealSearchRadGridItemDataBound(
object
source, GridItemEventArgs e)
{
if
(e.Item.ItemType == GridItemType.Item)
{
LinkButton viewLinkButton = ((LinkButton)e.Item.FindControl(
"ViewDealLinkButton"
));
LinkButton editModifyLinkButton = ((LinkButton)e.Item.FindControl(
"EditDealLinkButton"
));
LinkButton voidLinkButton = ((LinkButton)e.Item.FindControl(
"VoidDealLinkButton"
));
int
statusCodeID = (
int
)(e.Item
as
GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex][
"StatusCodeID"
];
if
(statusCodeID.Equals(DraftStatusCodeID))
{
viewLinkButton.Visible =
true
;
editModifyLinkButton.Text =
"Modify"
;
voidLinkButton.Visible =
true
;
}
if
(statusCodeID.Equals(NewStatusCodeID))
{
viewLinkButton.Visible =
true
;
editModifyLinkButton.Text =
"Adjust"
;
voidLinkButton.Visible =
true
;
}
if
(statusCodeID.Equals(InitialapprovedStatusCodeID))
{
viewLinkButton.Visible =
true
;
editModifyLinkButton.Text =
"Adjust"
;
voidLinkButton.Visible =
true
;
}
if
(statusCodeID.Equals(FinalapprovedStatusCodeID))
{
viewLinkButton.Visible =
true
;
editModifyLinkButton.Text =
"Adjust"
;
voidLinkButton.Visible =
true
;
}
}
}
protected
void
DealSearchEditCommand(
object
source, GridCommandEventArgs e)
{
if
(e.Item.GetType()!=
typeof
(GridDataItem))
return
;
string
entityID = (e.Item
as
GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex][
"EntityID"
].ToString();
string
statusCodeID = (e.Item
as
GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex][
"StatusCodeID"
].ToString();
string
redirectString = String.Format(
"CreatDeal.aspx?pr={0}&sc={1}"
, entityID, statusCodeID);
switch
(e.CommandArgument.ToString())
{
//View and Edit are Basically the same just leaving room for growth or alterations.
case
"View"
:
Response.Redirect(redirectString);
break
;
case
"Edit"
:
Response.Redirect(redirectString);
break
;
case
"Void"
:
VoidDeal(entityID.ToInt());
break
;
default
:
break
;
}
}
protected
void
ExportToExcelClick(
object
sender, EventArgs e)
{
ConfigureExport();
DealSearchRadGrid.MasterTableView.ExportToExcel();
}
protected
void
ClearFiltersClick(
object
sender, EventArgs e)
{
foreach
(GridColumn column
in
DealSearchRadGrid.MasterTableView.Columns)
{
column.CurrentFilterFunction = GridKnownFunction.NoFilter;
column.CurrentFilterValue =
string
.Empty;
}
DealSearchRadGrid.MasterTableView.FilterExpression =
string
.Empty;
DealSearchRadGrid.MasterTableView.Rebind();
}