.Grid(Model)code for .columns goes here........
.Name("DetailGrid")
.RowAction(row =>
{
if (row.DataItem.Status == "X")
{
row.HtmlAttributes["style"] = "background:#FFCCCC;";
}
})
.DataBinding(x => x.Ajax().Select("AjaxDetails", "Policy", new { OID = ViewData["OID"] }))
I hope that has all made sense. Any ideas as to why this happens and what can be done to fix this?
Thanks,
Claudz
Some of my controls render incorrectly in IE8 and 9 when Action Recorder is running. For example, my Telerik RadStrip control renders vertically broken instead of horizontally.
Here's a pic of the incorrect rendering:
http://i1089.photobucket.com/albums/i341/adammil2000/incorrect.png
Here's a pic of the correct rendering when I get rid of action recorder:
http://i1089.photobucket.com/albums/i341/adammil2000/correct.pngPlease help, thanks!
<
div
>
<
telerik:RadAjaxPanel
ID
=
"panelwInterview"
CssClass
=
"panelsASP"
Wrap
=
"False"
runat
=
"server"
Height
=
"350px"
Width
=
"100%"
>
<
ol
>
<
asp:Wizard
ID
=
"WizardInterview"
runat
=
"server"
Height
=
"100%"
Width
=
"100%"
ActiveStepIndex
=
"0"
BorderStyle
=
"None"
>
<
HeaderTemplate
>
<
li
>
<
asp:ValidationSummary
ID
=
"ValidationSummaryInterview"
runat
=
"server"
BorderStyle
=
"None"
DisplayMode
=
"SingleParagraph"
HeaderText
=
"Please correct the following:"
ShowMessageBox
=
"True"
/>
</
li
>
</
HeaderTemplate
>
<
StartNavigationTemplate
>
<
telerik:RadButton
ID
=
"StepNextButton"
runat
=
"server"
CommandName
=
"MoveNext"
Text
=
"Next Question"
CausesValidation
=
"False"
>
</
telerik:RadButton
>
</
StartNavigationTemplate
>
<
StepNavigationTemplate
>
<
telerik:RadButton
ID
=
"StepPreviousButton"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"MovePrevious"
Text
=
"Previous Question"
>
</
telerik:RadButton
>
<
telerik:RadButton
ID
=
"StepNextButton"
runat
=
"server"
CommandName
=
"MoveNext"
Text
=
"Next Question"
>
</
telerik:RadButton
>
</
StepNavigationTemplate
>
<
FinishNavigationTemplate
>
<
telerik:RadButton
ID
=
"FinishPreviousButton"
CausesValidation
=
"False"
CommandName
=
"MovePrevious"
Text
=
"Previous"
runat
=
"server"
>
</
telerik:RadButton
>
<
telerik:RadButton
ID
=
"FinishButton"
CommandName
=
"MoveComplete"
Text
=
"Finish"
runat
=
"server"
>
</
telerik:RadButton
>
</
FinishNavigationTemplate
>
<
WizardSteps
>...
Hi, I have a problem with the control RadAjaxLoadingPanel. My version of Telerik controls is 2009.3.1314.35.
When I expand all the panels by server call, the loader is showed correctly on each panel, but when one of the panels ends the loader panel stop loader image and then, when the async post back was end, show the correct result. Where am I wrong?
Can I use only 1 PanelLoad for each Panel? In this exemple I have use 3 different Load, but the result is the same if I use 1 loader for all panel, is it wrong? Is it correct to use 1 panel Load for all Panel or must I use different loader panel?
If I use the DefaultLoadingPanelID of RadAjaxManager and clear the LoadingPanelID of RadAjaxPanel control the loader are not show, is wrong this operation?
I have also this problems
- I want to custom the style of panel header, what should I do? Does a specific css property exists for this? The css property of panelbar is for body not header.
- The distance of panel was set in panelBoxOut css class, in the attached sample is 90px. The loader are draw under the panel header corectly. If I set the property to 10 px the loader are draw in header panel. I want that the space from 2 panel are 10px but the loader are draw under loader and the distance is in css property class (90px), is it possible?
- I would like to call expand funtion by server side, but collapse the panel invoking a client function, I don’t want the postback for collapse, is it possible?
Here enclosed you will find a solution that summarize all the issue written in this post.
Thanks in advance for your prompt reply.
Best Regards.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %>
<!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
>
<
telerik:RadStyleSheetManager
ID
=
"RadStyleSheetManager1"
runat
=
"server"
/>
<
style
type
=
"text/css"
>
.panelBoxOut
{
min-height: 90px;
}
.panelBoxIn
{
min-height: 35px;
}
</
style
>
</
head
>
<
body
>
<
script
type
=
"text/javascript"
>
function OnExpand(sender, eventArgs) {
//logEvent("On expand: " + eventArgs.get_item().get_text());
}
function OnCollapse(sender, eventArgs) {
//logEvent("On collapse: " + eventArgs.get_item().get_text());
//how to Stop postback???
return false;
}
</
script
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:ScriptManager
ID
=
"ScriptManager1"
runat
=
"server"
>
</
asp:ScriptManager
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
RequestQueueSize
=
"10"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadAjaxPanelFatture"
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadAjaxPanelContratti"
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Default"
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel2"
runat
=
"server"
Skin
=
"Default"
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel3"
runat
=
"server"
Skin
=
"Default"
>
</
telerik:RadAjaxLoadingPanel
>
<
div
>
<
div
>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel1Contratti"
runat
=
"server"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
>
<
telerik:RadPanelBar
runat
=
"server"
ID
=
"RadPanelBarContratti"
AllowCollapseAllItems
=
"True"
Width
=
"100%"
CssClass
=
"panelBoxOut"
OnClientItemExpand
=
"OnExpand"
OnClientItemCollapse
=
"OnCollapse"
OnItemClick
=
"RadPanelBarContratti_ItemClick"
>
<
Items
>
<
telerik:RadPanelItem
Text
=
"1) Contratti"
Value
=
"pnlDataAnagafica"
>
<
Items
>
<
telerik:RadPanelItem
Value
=
"Grid"
>
<
ItemTemplate
>
<
div
class
=
"panelBoxIn"
>
<%--<
telerik:RadGrid
ID
=
"grdContratti"
runat
=
"server"
DataSourceID
=
"ObjectDataSourceContratti"
GridLines
=
"None"
Visible
=
"False"
AutoGenerateColumns
=
"False"
>
<
MasterTableView
>
</
MasterTableView
>
</
telerik:RadGrid
>--%>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
div
>
</
ItemTemplate
>
</
telerik:RadPanelItem
>
</
Items
>
</
telerik:RadPanelItem
>
</
Items
>
</
telerik:RadPanelBar
>
</
telerik:RadAjaxPanel
>
</
div
>
<
div
>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanelFatture"
runat
=
"server"
LoadingPanelID
=
"RadAjaxLoadingPanel2"
>
<
telerik:RadPanelBar
runat
=
"server"
ID
=
"RadPanelBarFatture"
CssClass
=
"panelBoxOut"
AllowCollapseAllItems
=
"false"
Width
=
"100%"
OnClientItemExpand
=
"OnExpand"
OnClientItemCollapse
=
"OnCollapse"
OnItemClick
=
"RadPanelBarFatture_ItemClick"
>
<
Items
>
<
telerik:RadPanelItem
Text
=
"2) Fatture"
Value
=
"pnlDataAnagafica"
>
<
Items
>
<
telerik:RadPanelItem
Value
=
"Grid"
>
<
ItemTemplate
>
<
div
class
=
"panelBoxIn"
>
<%-- <
telerik:RadGrid
ID
=
"grdFatture"
runat
=
"server"
DataSourceID
=
"ObjectDataSourceFatture"
GridLines
=
"None"
Visible
=
"False"
AutoGenerateColumns
=
"False"
OnGridCreated
=
"OnGridCreated"
AllowPaging
=
"True"
PageSize
=
"15"
>
<
MasterTableView
>
</
MasterTableView
>
</
telerik:RadGrid
>--%>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
div
>
</
ItemTemplate
>
</
telerik:RadPanelItem
>
</
Items
>
</
telerik:RadPanelItem
>
</
Items
>
</
telerik:RadPanelBar
>
</
telerik:RadAjaxPanel
>
</
div
>
<
div
>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel1"
runat
=
"server"
LoadingPanelID
=
"RadAjaxLoadingPanel3"
>
<
telerik:RadPanelBar
runat
=
"server"
ID
=
"RadPanelBarBarAnagrafe"
CssClass
=
"panelBoxOut"
AllowCollapseAllItems
=
"false"
Width
=
"100%"
OnClientItemExpand
=
"OnExpand"
OnClientItemCollapse
=
"OnCollapse"
OnItemClick
=
"RadPanelBarAnagrafe_ItemClick"
>
<
Items
>
<
telerik:RadPanelItem
Text
=
"3) Fatture"
Value
=
"pnlDataAnagafica"
>
<
Items
>
<
telerik:RadPanelItem
Value
=
"Grid"
>
<
ItemTemplate
>
<
div
class
=
"panelBoxIn"
>
<%-- <
telerik:RadGrid
ID
=
"grdFatture"
runat
=
"server"
DataSourceID
=
"ObjectDataSourceFatture"
GridLines
=
"None"
Visible
=
"False"
AutoGenerateColumns
=
"False"
OnGridCreated
=
"OnGridCreated"
AllowPaging
=
"True"
PageSize
=
"15"
>
<
MasterTableView
>
</
MasterTableView
>
</
telerik:RadGrid
>--%>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
div
>
</
ItemTemplate
>
</
telerik:RadPanelItem
>
</
Items
>
</
telerik:RadPanelItem
>
</
Items
>
</
telerik:RadPanelBar
>
</
telerik:RadAjaxPanel
>
</
div
>
</
div
>
</
form
>
</
body
>
</
html
>
using
System;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Data;
using
System.Configuration;
using
System.Web.Security;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
Telerik.Web.UI;
public
partial
class
Default : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
protected
void
RadPanelBarContratti_ItemClick(
object
sender, RadPanelBarEventArgs e)
{
/*
RadGrid grdContratti = (RadGrid)RadPanelBarContratti.FindItemByValue("Grid").FindControl("grdContratti");
if (!grdContratti.Visible)
{
grdContratti.Visible = true;
base.ConfigGrid(ref grdContratti);
//grdContratti.DataBind();
}
*/
//Simulate grid bind time with thread
System.Threading.Thread.Sleep(15000);
Label lblContratti = (Label)RadPanelBarContratti.FindItemByValue(
"Grid"
).FindControl(
"Label1"
);
lblContratti.Text =
"Bind Finish!"
;
}
protected
void
RadPanelBarFatture_ItemClick(
object
sender, RadPanelBarEventArgs e)
{
/*
RadGrid grdFatture = (RadGrid)RadPanelBarFatture.FindItemByValue("Grid").FindControl("grdFatture");
if (!grdFatture.Visible)
{
grdFatture.Visible = true;
base.ConfigGrid(ref grdFatture);
//grdFatture.DataBind();
}
*/
//Simulate grid bind time with thread
System.Threading.Thread.Sleep(10000);
Label lblContratti = (Label)RadPanelBarFatture.FindItemByValue(
"Grid"
).FindControl(
"Label1"
);
lblContratti.Text =
"Bind Finish!"
;
}
protected
void
RadPanelBarAnagrafe_ItemClick(
object
sender, RadPanelBarEventArgs e)
{
/*
RadGrid grdFatture = (RadGrid)RadPanelBarFatture.FindItemByValue("Grid").FindControl("grdFatture");
if (!grdFatture.Visible)
{
grdFatture.Visible = true;
base.ConfigGrid(ref grdFatture);
//grdFatture.DataBind();
}
*/
//Simulate grid bind time with thread
System.Threading.Thread.Sleep(5000);
Label lblContratti = (Label)RadPanelBarBarAnagrafe.FindItemByValue(
"Grid"
).FindControl(
"Label1"
);
lblContratti.Text =
"Bind Finish!"
;
}
}
<
telerik:RadFormDecorator
ID
=
"ButtonDecorator"
DecoratedControls
=
"Buttons"
Skin
=
"Sunset"
RegisterWithScriptManager
=
"true"
EnableRoundedCorners
=
"false"
runat
=
"server"
/>
<
telerik:RadFormDecorator
ID
=
"CheckBoxDecorator"
runat
=
"server"
Skin
=
"Sunset"
DecoratedControls
=
"CheckBoxes"
EnableRoundedCorners
=
"false"
/>
<
telerik:RadAjaxLoadingPanel
ID
=
"DefaultLoadingPanel"
runat
=
"server"
Skin
=
"Sunset"
></
telerik:RadAjaxLoadingPanel
>
Here is how I populate my rows:
protected void rgMyNominations_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
try
{
if (!e.IsFromDetailTable)
{
rgMyNominations.DataSource = GetNominationTypes();
}
}
catch (Exception ex)
{
// Handle exceptions
}
}
Here is how I populate my details table:
protected void rgMyNominations_DetailTableDataBind(object source, GridDetailTableDataBindEventArgs e)
{
try
{
GridDataItem gridDataItem = (GridDataItem)e.DetailTableView.ParentItem;
if (e.DetailTableView.Name == "Nominations")
{
int nominationTypeID = int.Parse(gridDataItem.GetDataKeyValue("NominationTypeID").ToString());
List<Nomination> nominations = new List<Nomination>();
// For each nomination type, add the nomination
foreach (Nomination n in myNominationsList)
{
if (n.NominationType.NominationTypeID == nominationTypeID)
{
nominations.Add(n);
}
}
e.DetailTableView.DataSource = nominations;
}
}
catch (Exception ex)
{
// Handle exceptions
}
}
I have an action column that has a link that says Withdrawn. When clicked I have a JavaScript confirm box with a Yes or No option. If yes, then the nomination status is updated to withdrawn. Then I want the grid to be refreshed to show the updated status. I used the grid's update command to to show the show the JavaScript's command box. It updates, but is it the correct way to do it?
protected void rgMyNominations_UpdateCommand(object source, GridCommandEventArgs e)
{
try
{
StatusManager.InsertStatus( /* required parameters */ );
// Refresh grid
rgMyNominations.DataSource = GetNominationTypes();
rgMyNominations.DataBind();
}
catch (Exception ex)
{
// Handle exceptions
}
}
The binding of the grid doesn't want to work properly after the status was updated. The grid row is of type NominationTypeClass and the details table is of type Nomination. I debugged, and there where it set the datasource for each it is correct, but when the view is rendered for:
<asp:Label ID="lblNominationDate" runat="server" Text='<%# FormatDate(DataBinder.Eval(Container, "DataItem.NominationDate")) %>' />
...it says that NominationDate is not a property of NominationTypeClass. This is wrong, I don't know why it is taking the type for the row to be the type of the details table? NominationDate is a property of Nomination. It seems like it is overriding the datasources.
Are there any online samples of what I am trying to accomplish? Any advice would be appreciated.
PS: Sorry for not using the code formatter, but it looks horrible, it just shows a whole lot of HTML tags.