<
SafeControl
Assembly
=
"Telerik.Web.UI, Version=2010.3.1317.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
Namespace
=
"Telerik.Charting"
TypeName
=
"*"
Safe
=
"True"
SafeAgainstScript
=
"False"
/>
<
httpHandlers
><
br
> <
add
path
=
"ChartImage.axd"
verb
=
"*"
type
=
"Telerik.Web.UI.ChartHttpHandler, Telerik.Web.UI, Version=2010.3.1317.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
validate
=
"false"
/><
br
> </
httpHandlers
><
br
>
I have requirement for hierarchal data grid. I'm binding the grid's datasource with a collection.
Each of the item within that collection has another collection as a Property.
Is there a way to bind the grid in such a way that , it automatically takes the inner collection as datasource for DetailsTable,
whereas the outercollection as datasource for MasterTableView ?
The telerik eg., i have seen, have datasource provided exclusively for both MasterTableview as well as Detailtable and the relation between them specifed using ParentTableRelation.
In my case, i have the relation between master & detail maintained in my collection. So binding the grid in NeedDatasource event and specifying the DataMember property declaritively should work.
let me know if you think i'm missing something ,
I donot wish to maintain two different datasource , as i have lot of grid operations.
I'm using a hierarchical grid. My Radgrid contain NestedViewTemplate which contain Another Radgrid .Inner Radgrid contain some GridBoundColumn and GridButtonColumn called EDIT.This Inner Grid use <EditFormSettings EditFormType="Template">.
Now when we click on Edit,it is not able to open Edit form template.Instead of this, All the rows inside the inner grid get disappear.
Please help me out here...Thanks in advance.
<
telerik:RadGrid
ID
=
"Radgrid1"
Visible
=
"true"
runat
=
"server"
EnableViewState
=
"true"
AllowPaging
=
"false"
AllowSorting
=
"true"
AutoGenerateColumns
=
"false"
Skin
=
"Vista"
OnItemCommand
=
"Radgrid1_ItemCommand"
OnSortCommand
=
"Radgrid1_SortCommand"
AllowAutomaticDeletes
=
"true"
AllowAutomaticInserts
=
"false"
AllowAutomaticUpdates
=
"false"
>
<
MasterTableView
Width
=
"100%"
Name
=
"mastertableview"
DataKeyNames
=
"custemerid"
>
<
NestedViewTemplate
>
<
telerik:RadGrid
ID
=
"Radgrid2"
AllowAutomaticDeletes
=
"true"
"
AllowAutomaticInserts
=
"false"
AllowAutomaticUpdates
=
"true"
AllowSorting
=
"true"
OnItemCommand
=
"Radgrid2_ItemCommand"
>
<
MasterTableView
CommandItemDisplay
=
"Top"
DataKeyNames
=
"orderID"
AutoGenerateColumns
=
"false"
EditMode
=
"EditForms"
InsertItemDisplay
=
"Top"
> <
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
""
</telerik:GridBoundColumn>
<
telerik:GridTemplateColumn
HeaderText
=
"Order Name"
UniqueName
=
"Order Name"
<ItemTemplate> <
asp:Label
runat
=
"server"
ID
=
"lblOrderName"
Text='<%# AntiXss.HtmlEncode(Eval("OrederName").ToString())%>'></
asp:Label
> </
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
""
</telerik:GridTemplateColumn>
<
telerik:GridButtonColumn
HeaderText
=
"Edit"
CommandName
=
"Edit"
Text
=
"Edit"
ItemStyle-HorizontalAlign
=
"Center"
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
ImageUrl
=
"~/OneViewImages/edit.png"
>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
HeaderText
=
"Delete"
ButtonType
=
"ImageButton"
ConfirmText
=
"Are you sure you want to delete this User?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
CommandName
=
"Delete"
Text
=
"Delete User"
UniqueName
=
"DeleteColumn"
>
</
telerik:GridButtonColumn
>
</
Columns
>
<
CommandItemSettings
AddNewRecordText
=
"Add New User"
/>
<
EditFormSettings
EditFormType
=
"Template"
>
<
FormStyle
Font-Size
=
"11px"
/>
<
FormTemplate
> Edit form is here Along with two Image button as Save and Calcel mention below
<
asp:ImageButton
ID
=
"btnUpdate"
runat
=
"server"
ToolTip
=
"Save"
CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>' />
<
asp:ImageButton
ID
=
"btnCancel"
runat
=
"server"
ToolTip
=
"cancel"
CausesValidation
=
"False"
CommandName
=
"Cancel"
/>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
<
ValidationSettings
CommandsToValidate
=
"PerformInsert,Update"
ValidationGroup
=
"ValidationGrp1"
/>
</
telerik:RadGrid
> </
NestedViewTemplate
>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"CustomerID"
DataField
=
"CustomerId"
Visible
=
"false"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"CustomerName"
UniqueName
=
"CustomerName"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
ExpandCollapseColumn
Visible
=
"True"
>
</
ExpandCollapseColumn
>
</
MasterTableView
>
</
telerik:RadGrid
>
Code Behind:
protected void Radgrid1_ItemCommand(object source, GridCommandEventArgs e)
{
RadGrid grid = (source as RadGrid);
if ((e.CommandName == RadGrid.InitInsertCommandName ||
e.CommandName == RadGrid.EditCommandName ||
e.CommandName == RadGrid.EditAllCommandName ||
e.CommandName == RadGrid.EditSelectedCommandName)
&& insertMode )
{
grid.MasterTableView.ClearEditItems();
e.Item.OwnerTableView.IsItemInserted = false;
}
if ((e.CommandName == "ExpandCollapse") && (!e.Item.Expanded))
{
// populate innergrid
}
}
protected void Radgrid2_ItemCommand(object source, GridCommandEventArgs e)
{
//Code for During Add,Edit can no happen and vice-versa
bool editMode = e.Item.OwnerTableView.OwnerGrid.EditIndexes.Count > 0;
bool insertMode = e.Item.OwnerTableView.IsItemInserted;
RadGrid Radgrid2 = (source as RadGrid);
if ((e.CommandName == RadGrid.InitInsertCommandName ||
e.CommandName == RadGrid.EditCommandName ||
e.CommandName == RadGrid.EditAllCommandName ||
e.CommandName == RadGrid.EditSelectedCommandName)
&& (insertMode || editMode)) {
Radgrid2.MasterTableView.ClearEditItems();
e.Item.OwnerTableView.IsItemInserted = false; }
if (e.CommandName == "Delete")
{if (e.Item is GridDataItem)
{
//Delete the selected OrderId then bind the inner grid using
Radgrid2.Rebind();
}
if (e.CommandName == "Edit")
{
Radgrid2.MasterTableView.EditFormSettings.UserControlName = null;
Radgrid2.MasterTableView.EditFormSettings.EditFormType = GridEditFormType.Template;
if (e.Item is GridDataItem)
{
GridDataItem item = (GridDataItem)e.Item;
//Some field to be loaded in edit mode
}
Radgrid2.Rebind();
}
if (e.CommandName == "Cancel")
{
Radgrid2.Rebind();
BindGrid(); // use to bind Outer grid
}
if (e.CommandName == "Update")
{
//some code
}
if (e.CommandName == "InitInsert")
{ //Some code
Radgrid2.MasterTableView.ClearEditItems();
Radgrid2.MasterTableView.IsItemInserted = true;
Radgrid2.Rebind();
Radgrid1.Rebind();
} }
if (e.CommandName == "PerformInsert")
{
//some code
}
}
<telerik:RadTextBox ID="txtComment" runat="server" |
ValidationGroup="CommentValidation" CausesValidation="True" MaxLength="4096" |
Skin="Black" Width="450px" TextMode="MultiLine" Height="150px" AcceptReturn="True" /> |
I'm migrating repeater control in my code to telerik grid control.
In my repeater control i'm using the following piece of code as my URL
<
a href="<%# Globals.GetSiteUrls().Post( (int) DataBinder.Eval(Container.DataItem, "PostID") ) %> ">
I have to use the same in GridHyperLinkColumn.
How to give value in DataNavigateUrlFormatString??