<
rad:RadTreeView ID="RadTreeView1" runat="server" Height="96%" OnClientContextMenuShowing="OnClientContextmenuShowing"
OnClientNodeClicked="OnTreeNodeClick" OnClientDoubleClick="OnTreeNodeDoubleClick"
OnClientContextMenuItemClicked="OnTreeContextMenuClick" OnClientNodeExpanding="toggleHandler"
OnClientNodeCollapsing="toggleHandler">
</rad:RadTreeView>
function
OnClientContextmenuShowing(sender, e) {
//Get the ajax manager object
clientAjaxRequest(
"UpdateMenu"
);
return
false
;
}
function
clientAjaxRequest(arg) {
var
ajaxManagerObject = $find(
"<%= RadAjaxManager1.ClientID %>"
);
ajaxManagerObject.ajaxRequest(arg);
}
<
telerik:RadBinaryImage ID="RadBinaryImage1" runat="server" ImageUrl="Photo/Grid-Scrolling-Issue.jpg" ResizeMode="Fit" Height="100px" Width="100px"/>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateColumns
=
"False"
OnDetailTableDataBind
=
"RadGrid1_DetailTableDataBind"
GridLines
=
"None"
onitemdatabound
=
"RadGrid1_ItemDataBound"
>
<
MasterTableView
DataKeyNames
=
"ParentID, LearningObjectID, IsCriteria, ShowOverview, ShowNotes, ShowSchematic, LearningObject_Overview, LearningObject_Notes, SchematicFilename, OriginalSchematicFilename"
AllowSorting
=
"true"
Width
=
"100%"
HierarchyLoadMode
=
"ServerOnDemand"
CommandItemDisplay
=
"Top"
>
<
CommandItemTemplate
>
<
asp:Table
ID
=
"tblInfo"
runat
=
"server"
>
<
asp:TableRow
ID
=
"rowOverview"
>
<
asp:TableCell
>
<
asp:Label
ID
=
"ttlOverview"
Font-Bold
=
"true"
Font-Size
=
"Small"
ForeColor
=
"Black"
runat
=
"server"
Text
=
"Overview:"
></
asp:Label
>
</
asp:TableCell
>
<
asp:TableCell
>
<
asp:Label
ID
=
"txtOverview"
Font-Size
=
"Small"
ForeColor
=
"Black"
runat
=
"server"
></
asp:Label
>
</
asp:TableCell
>
</
asp:TableRow
>
<
asp:TableRow
ID
=
"rowNotes"
>
<
asp:TableCell
>
<
asp:Label
ID
=
"ttlNotes"
Font-Bold
=
"true"
Font-Size
=
"Small"
ForeColor
=
"Black"
runat
=
"server"
Text
=
"Notes:"
></
asp:Label
>
</
asp:TableCell
>
<
asp:TableCell
>
<
asp:Label
ID
=
"txtNotes"
Font-Size
=
"Small"
ForeColor
=
"Black"
runat
=
"server"
></
asp:Label
>
</
asp:TableCell
>
</
asp:TableRow
>
<
asp:TableRow
ID
=
"rowSchematic"
>
<
asp:TableCell
>
<
asp:Label
ID
=
"ttlSchematic"
Font-Bold
=
"true"
Font-Size
=
"Small"
ForeColor
=
"Black"
runat
=
"server"
Text
=
"Schematic:"
></
asp:Label
>
</
asp:TableCell
>
<
asp:TableCell
>
<
asp:HyperLink
ID
=
"lnkSchematic"
Font-Size
=
"Small"
ForeColor
=
"Black"
runat
=
"server"
Text
=
"Click Here To View"
Target
=
"_blank"
/>
<
asp:Label
ID
=
"txtSchematic"
Font-Size
=
"Small"
ForeColor
=
"Black"
runat
=
"server"
Text
=
"There is no schematic for this entry"
></
asp:Label
>
</
asp:TableCell
></
asp:TableRow
></
asp:Table
></
CommandItemTemplate
><
CommandItemSettings
ExportToPdfText
=
"Export to Pdf"
>
</
CommandItemSettings
>
<
SelfHierarchySettings
ParentKeyName
=
"ParentID"
KeyName
=
"LearningObjectID"
/>
<
RowIndicatorColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridImageColumn
HeaderStyle-Width
=
"20px"
DataImageUrlFields
=
"IconURL"
></
telerik:GridImageColumn
>
<
telerik:GridBoundColumn
DataField
=
"Code"
HeaderText="<%$ Resources:Code %>"
SortExpression="Code" UniqueName="Code" HeaderStyle-Width="100px" ItemStyle-Width="100px">
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"LearningObjective"
HeaderText="<%$ Resources:LearningObjective %>" SortExpression="LearningObjective"
UniqueName="LearningObjective">
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"CriticalPercentage"
DataType
=
"System.Double"
HeaderStyle-Width
=
"75px"
ItemStyle-Width
=
"75px"
HeaderText="<%$ Resources:CriticalPercentage %>" ReadOnly="True"
SortExpression="CriticalPercentage" UniqueName="CriticalPercentage" DataFormatString="{0}%">
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"NonCriticalPercentage"
DataType
=
"System.Double"
HeaderStyle-Width
=
"75px"
ItemStyle-Width
=
"75px"
HeaderText="<%$ Resources:NonCriticalPercentage %>" ReadOnly="True"
SortExpression="NonCriticalPercentage" UniqueName="NonCriticalPercentage" DataFormatString="{0}%">
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
protected
void
RadGrid1_DetailTableDataBind(
object
source, GridDetailTableDataBindEventArgs e)
{
//Get the info on the parent item
GridDataItem parentItem = e.DetailTableView.ParentItem
as
GridDataItem;
int
LearningObjectID = (
int
)parentItem.GetDataKeyValue(
"LearningObjectID"
);
//Get the info on the table that is to be opened.
CMASDALTableAdapters.AssessUsersPositionSuitabilityTableAdapter assessment =
new
CMASDALTableAdapters.AssessUsersPositionSuitabilityTableAdapter();
CMASDAL.AssessUsersPositionSuitabilityDataTable dt = assessment.GetAssessUsersPositionSuitability(
int
.Parse(Session[
"ClientID"
].ToString()), EmployeeSelector1.SelectedPositionID, LearningObjectID, EmployeeSelector1.SelectedEmployeeID);
//Check it has children
if
(dt.Count > 0)
{
//Find out if the children are criteria and therefore the bottom level and need the alternate table layout.
if
(dt[0].IsCriteria)
{
//Get the data for the new table layout
CMASDALTableAdapters.AssessUsersPositionSuitabilityCriteriaTableAdapter assessment2 =
new
CMASDALTableAdapters.AssessUsersPositionSuitabilityCriteriaTableAdapter();
e.DetailTableView.DataSource = assessment2.GetAssessUsersPositionSuitabilityCriteria(
int
.Parse(Session[
"ClientID"
].ToString()), EmployeeSelector1.SelectedPositionID, LearningObjectID, EmployeeSelector1.SelectedEmployeeID);
//Add the additional columns that I need to my collection.
//Important: first Add column to the collection
GridBoundColumn nameColumn =
new
GridBoundColumn();
e.DetailTableView.Columns.Add(nameColumn);
//Then set properties
nameColumn.DataField =
"AssessorName"
;
nameColumn.HeaderText =
"Assessor"
;
nameColumn.HeaderStyle.Width = 150;
//Important: first Add column to the collection
GridBoundColumn dateColumn =
new
GridBoundColumn();
e.DetailTableView.Columns.Add(dateColumn);
//Then set properties
dateColumn.DataField =
"AssessmentDate"
;
dateColumn.HeaderText =
"Assessment Date"
;
dateColumn.HeaderStyle.Width = 75;
dateColumn.DataFormatString =
"{0:d}"
;
//Important: first Add column to the collection
GridBoundColumn statusColumn =
new
GridBoundColumn();
e.DetailTableView.Columns.Add(statusColumn);
//Then set properties
statusColumn.DataField =
"AssessmentStatus"
;
statusColumn.HeaderText =
"Assessment Status"
;
statusColumn.HeaderStyle.Width = 75;
//Important: first Add column to the collection
GridBoundColumn method1Column =
new
GridBoundColumn();
e.DetailTableView.Columns.Add(method1Column);
//Then set properties
method1Column.DataField =
"AssessmentMethod1"
;
method1Column.HeaderText =
"Assessment Method 1"
;
method1Column.HeaderStyle.Width = 75;
//Important: first Add column to the collection
GridBoundColumn method2Column =
new
GridBoundColumn();
e.DetailTableView.Columns.Add(method2Column);
//Then set properties
method2Column.DataField =
"AssessmentMethod2"
;
method2Column.HeaderText =
"Assessment Method 2"
;
method2Column.HeaderStyle.Width = 75;
//Get rid of the columns I don't need.
GridColumn critPercentageCol = e.DetailTableView.Columns[3];
GridColumn nonCritPercentageCol = e.DetailTableView.Columns[4];
e.DetailTableView.Columns.Remove(critPercentageCol);
e.DetailTableView.Columns.Remove(nonCritPercentageCol);
//GridColumn newCol = new GridColumn();
//e.DetailTableView.Columns.Add();
}
else
e.DetailTableView.DataSource = dt;
}
else
e.DetailTableView.DataSource = dt;
}
protected
void
RadGrid1_ItemDataBound(
object
sender, GridItemEventArgs e)
{
//If its the command area prepare to show overview/notes etc.
if
(e.Item
is
GridCommandItem)
{
GridDataItem parentItem = e.Item.OwnerTableView.ParentItem
as
GridDataItem;
if
(parentItem !=
null
)
{
//Get the information about the parent item
bool
showOverview = (
bool
)parentItem.GetDataKeyValue(
"ShowOverview"
);
bool
showNotes = (
bool
)parentItem.GetDataKeyValue(
"ShowNotes"
);
bool
showSchematic = (
bool
)parentItem.GetDataKeyValue(
"ShowSchematic"
);
string
strOverview = (
string
)parentItem.GetDataKeyValue(
"LearningObject_Overview"
);
string
strNotes = (
string
)parentItem.GetDataKeyValue(
"LearningObject_Notes"
);
string
lnkSchematicFilename = (
string
)parentItem.GetDataKeyValue(
"SchematicFilename"
);
GridCommandItem commandItem = (GridCommandItem)e.Item;
//Show and hide appropriate fields.
if
(showOverview)
{
Label txtOverview = (Label)commandItem.FindControl(
"txtOverview"
);
txtOverview.Text = strOverview;
}
else
{
TableRow rowOverview = (TableRow)commandItem.FindControl(
"rowOverview"
);
rowOverview.Visible =
false
;
}
if
(showNotes)
{
Label txtNotes = (Label)commandItem.FindControl(
"txtNotes"
);
txtNotes.Text = strNotes;
}
else
{
TableRow rowNotes = (TableRow)commandItem.FindControl(
"rowNotes"
);
rowNotes.Visible =
false
;
}
if
(showSchematic)
{
Label txtSchematic = (Label)commandItem.FindControl(
"txtSchematic"
);
HyperLink lnkSchematic = (HyperLink)commandItem.FindControl(
"lnkSchematic"
);
if
(lnkSchematicFilename.Length == 0)
lnkSchematic.Visible =
false
;
else
{
lnkSchematic.NavigateUrl = lnkSchematicFilename;
txtSchematic.Visible =
false
;
}
}
else
{
TableRow rowSchematic = (TableRow)commandItem.FindControl(
"rowSchematic"
);
rowSchematic.Visible =
false
;
}
}
else
e.Item.Visible =
false
;
}
//if it's a criteria then hide the expand control
if
(e.Item
is
GridDataItem)
// to access a row
{
GridDataItem item = (GridDataItem)e.Item;
RadGrid parentGrid = (RadGrid)sender;
if
((
bool
)item.GetDataKeyValue(
"IsCriteria"
) ==
true
)
{
item.Cells[0].Controls[0].Visible =
false
;
}
}
}
Hello
Maybe someone can help me with this little issue. Not really a bug deal but is somewhat annoying.
Here we go. I have deployed several RadWindows throughout my project as popup modal = true.
The window works well but here the catch. Whenever a button or control that fire the window is located within a update panel
Either ASP.net or RadAjax It seem that the loading panel that is incorporated with the radwindow will not display.
What happens is that a blank widow appears fully opened as per setting and remain blank until the page loads.
Now if the control is outside as update panel then the loading image load first and finally you get the PageLoad.
Is this related to full postback instead of a partial postback and is there any way around this???
Thanks in advance..
Hi,
I have to validate my RadComboBox with custom validator and if the validation is failed i have to set the style as the textbox image attached. Pls. Guide me how to achieve this.
Additional info: in text box we have the following code
textbox._invalid = true;
textbox.updateCssClass();
What is the similar one for RadComboBox.
Jidesh
Hello Igor,
Please examine the Fonts / Unicode support section in the following topic:
PDF export
Let me know if you need more information.
Best regards,
Daniel
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
I have read and I believe that it doesn't approach me.Ð’Ñ‹ can offer other decision of my problem?
Thanks
Igor