or
<%@ Page Title="" Language="C#" MasterPageFile="~/ABBMaster.Master" AutoEventWireup="true" CodeBehind="EmployeGrid.aspx.cs" Inherits="HolidayTracker.Employe.EmployeGrid" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"MainRegionContentPlaceHolder"
runat
=
"server"
>
<
telerik:RadScriptManager
runat
=
"server"
ID
=
"RadScriptManager1"
/>
<
telerik:RadFormDecorator
ID
=
"QsfFromDecorator"
runat
=
"server"
DecoratedControls
=
"All"
EnableRoundedCorners
=
"false"
/>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
></
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadGrid
ID
=
"RadGrid1"
OnPreRender
=
"RadGrid1_PreRender"
ShowStatusBar
=
"True"
DataSourceID
=
"SqlDataSource1"
runat
=
"server"
AutoGenerateColumns
=
"False"
PageSize
=
"7"
AllowSorting
=
"True"
AllowPaging
=
"True"
GridLines
=
"None"
CellSpacing
=
"0"
>
<
PagerStyle
Mode
=
"NumericPages"
/>
<
MasterTableView
DataSourceID
=
"SqlDataSource1"
DataKeyNames
=
"DepartmentId"
AllowMultiColumnSorting
=
"true"
>
<
DetailTables
>
<
telerik:GridTableView
DataKeyNames
=
"UserId"
DataSourceID
=
"SqlDataSource2"
Width
=
"100%"
runat
=
"server"
>
<
ParentTableRelation
>
<
telerik:GridRelationFields
DetailKeyField
=
"DepartmentId"
MasterKeyField
=
"DepartmentId"
/>
</
ParentTableRelation
>
<
DetailTables
>
<
telerik:GridTableView
DataKeyNames
=
"Name"
DataSourceID
=
"SqlDataSource2"
Width
=
"100%"
runat
=
"server"
>
<
ParentTableRelation
>
<
telerik:GridRelationFields
DetailKeyField
=
"Name"
MasterKeyField
=
"Name"
/>
</
ParentTableRelation
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"FromData"
HeaderText
=
"From Date"
HeaderButtonType
=
"TextButton"
DataField
=
"FromDate"
UniqueName
=
"FromDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"ToDate"
HeaderText
=
"To Date"
HeaderButtonType
=
"TextButton"
DataField
=
"ToDate"
UniqueName
=
"ToDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"WorkingTime"
HeaderText
=
"Working Time"
HeaderButtonType
=
"TextButton"
DataField
=
"WorkingTime"
UniqueName
=
"WorkingTime"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"VacationDays"
HeaderText
=
"Vacation Days"
HeaderButtonType
=
"TextButton"
DataField
=
"VacationDays"
UniqueName
=
"VacationDays"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"Name"
HeaderText
=
"Name"
HeaderButtonType
=
"TextButton"
DataField
=
"Name"
UniqueName
=
"Name"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"DepartmentId"
HeaderText
=
"DepartmentId"
HeaderButtonType
=
"TextButton"
DataField
=
"DepartmentId"
UniqueName
=
"DepartmentId"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"Name"
HeaderText
=
"Department Name"
HeaderButtonType
=
"TextButton"
DataField
=
"Name"
UniqueName
=
"Name"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:HolidayTrackerConnectionString %>" SelectCommand="SELECT [DepartmentId], [Name] FROM [HtDepartment]"></
asp:SqlDataSource
>
<
asp:SqlDataSource
ID
=
"SqlDataSource2"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:HolidayTrackerConnectionString %>" SelectCommand="SELECT * FROM [AnnualVacationView] ORDER BY [UserId], [Name]"></
asp:SqlDataSource
>
</
asp:Content
>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
namespace HolidayTracker.Employe
{
public partial class EmployeGrid : System.Web.UI.Page
{
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
RadGrid1.MasterTableView.Items[0].Expanded = true;
RadGrid1.MasterTableView.Items[0].ChildItem.NestedTableViews[0].Items[0].Expanded = true;
}
}
}
}
List<
ExpandoObject
> viewList = new List<
ExpandoObject
>();
for (int i = 0; i <
100
; i++)
{
dynamic
view
=
new
ExpandoObject();
var
p
=
view
as IDictionary<String, object>;
p["LatName"] = i * 2;
p["Name"] = i;
viewList.Add(view);
}
RadGrid1.DataSource = viewList;
RadGrid1.DataBind();
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateColumns
=
"False"
CellSpacing
=
"0"
GridLines
=
"None"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"Name"
FilterControlAltText
=
"Filter column column"
HeaderText
=
"Name"
UniqueName
=
"column"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateSelectColumn
=
"True"
CellSpacing
=
"0"
GridLines
=
"Horizontal"
AutoGenerateColumns
=
"False"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
AllowAutomaticUpdates
=
"false"
AllowPaging
=
"false"
AllowSorting
=
"false"
Width
=
"100%"
>
<
SortingSettings
EnableSkinSortStyles
=
"false"
/>
<
MasterTableView
DataKeyNames
=
"Code"
PageSize
=
"20"
Width
=
"100%"
>
<
Columns
>
<
telerik:GridTemplateColumn
UniqueName
=
"txtQTY"
HeaderText
=
"Quantity"
>
<
ItemTemplate
>
<
asp:TextBox
runat
=
"server"
ID
=
"QTYtextbox"
Width
=
"40px"
Enabled
=
"true"
Text='<%# Bind("QTY") %>'> </
asp:TextBox
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
DataField
=
"Code"
HeaderText
=
"Code"
UniqueName
=
"Code"
FilterControlAltText
=
"Filter Code column"
SortExpression
=
"Code"
ItemStyle-Width
=
"50px"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Name"
HeaderText
=
"Name"
UniqueName
=
"Name"
FilterControlAltText
=
"Filter Name column"
SortExpression
=
"Name"
ItemStyle-Width
=
"200px"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Units"
HeaderText
=
"Units"
UniqueName
=
"Units"
FilterControlAltText
=
"Filter Units column"
SortExpression
=
"Units"
ItemStyle-Width
=
"25px"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"QTY"
HeaderText
=
"QTY"
UniqueName
=
"colQTY"
Visible
=
"True"
ItemStyle-Width
=
"25px"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
Protected
Sub
RadGrid1_NeedDataSource(sender
As
Object
, e
As
Telerik.Web.UI.GridNeedDataSourceEventArgs)
Handles
RadGrid1.NeedDataSource
'Loads Data into the table
Dim
ordlist
As
New
dbrcOrdEst(Session(
"ConnectionString"
))
Dim
dt
As
DataTable = ordlist.ListOrderEstimates(498)
RadGrid1.DataSource = dt
End
Sub
Protected
Sub
btnImport_Click(sender
As
Object
, e
As
System.EventArgs)
Handles
btnImport.Click
For
Each
item
As
GridDataItem
In
RadGrid1.Items
Dim
value
As
String
value = item.Cells(2).Text
'DB Functionality
Next
End
Sub
<
telerik:RadTextBox
ID
=
"rtbTItle"
runat
=
"server"
Width
=
"400"
TextMode
=
"SingleLine"
Text='<%# DataBinder.Eval(Container, "DataItem.Title") %>' Skin="WebBlue">
</
telerik:RadTextBox
>
<
asp:RequiredFieldValidator
ID
=
"rfvTitle"
runat
=
"server"
ControlToValidate
=
"rtbTitle"
ErrorMessage
=
"You must enter a Title"
ValidationGroup
=
"vgEditor"
ForeColor
=
"Red"
Font-Bold
=
"true"
>*</
asp:RequiredFieldValidator
>
<
asp:CustomValidator
ID
=
"cvTitle"
runat
=
"server"
ControlToValidate
=
"rtbTitle"
ClientValidationFunction
=
"cvTitle_Validator"
OnServerValidate
=
"cvTitle_ServerValidate"
EnableClientScript
=
"true"
ErrorMessage
=
"Title cannot contain 'x'"
ValidationGroup
=
"vgEditor"
ForeColor
=
"Red"
Font-Bold
=
"true"
>x</
asp:CustomValidator
>
<
telerik:RadEditor
ID
=
"reItemText"
runat
=
"server"
BorderStyle
=
"None"
OnClientLoad
=
"reItemText_OnClientLoad"
OnClientModeChange
=
"reItemText_OnClientModeChange"
Width
=
"800"
Height
=
"300"
AutoResizeHeight
=
"false"
EnableResize
=
"false"
ToolsWidth
=
"800"
ContentAreaMode
=
"Div"
Skin
=
"WebBlue"
Content='<%# DataBinder.Eval(Container, "DataItem.ItemText") %>'>
</
telerik:RadEditor
>
<
asp:CustomValidator
ID
=
"cvItemText"
runat
=
"server"
ControlToValidate
=
"reItemText"
ClientValidationFunction
=
"cvItemText_Validator"
OnServerValidate
=
"cvItemText_ServerValidate"
EnableClientScript
=
"true"
ErrorMessage
=
"Item Text is required"
ValidateEmptyText
=
"true"
ValidationGroup
=
"vgEditor"
ForeColor
=
"Red"
Font-Bold
=
"true"
>*</
asp:CustomValidator
>
<
asp:Button
ID
=
"btnUpdate"
runat
=
"server"
ValidationGroup
=
"vgEditor"
CausesValidation
=
"true"
Text='<%# IIf(TypeOf Container is GridEditFormInsertItem, "Insert", "Update") %>' CommandName='<%# IIf(TypeOf Container is GridEditFormInsertItem, "PerformInsert", "Update") %>' />
function
cvItemText_Validator( sender, args ) {
console.log(
"cvItemText_Validator"
);
}
function
cvTitle_ServerValidate( sender, args ) {
console.log(
"cvTitle_ServerValidate"
);
}
Protected
Sub
cvItemText_ServerValidate(source
As
Object
, args
As
System.Web.UI.WebControls.ServerValidateEventArgs)
System.Diagnostics.Debug.WriteLine(
"Admin_ManageNews:cvItemText_ServerValidate"
)
System.Diagnostics.Debug.WriteLine(
String
.Format(
" ItemText: {0}"
, args.Value))
Dim
oItem
As
GridEditableItem =
DirectCast
(
DirectCast
(source, CustomValidator).NamingContainer, GridEditableItem)
Dim
oEditor
As
RadEditor =
DirectCast
(oItem.FindControl(
"reItemText"
), RadEditor)
System.Diagnostics.Debug.WriteLine(
String
.Format(
" ItemText: {0}"
, oEditor.Content))
End
Sub
Protected
Sub
cvTitle_ServerValidate(source
As
Object
, args
As
System.Web.UI.WebControls.ServerValidateEventArgs)
System.Diagnostics.Debug.WriteLine(
"Admin_ManageNews:cvTitle_ServerValidate"
)
System.Diagnostics.Debug.WriteLine(
String
.Format(
" Title: {0}"
, args.Value))
Dim
oItem
As
GridEditableItem =
DirectCast
(
DirectCast
(source, CustomValidator).NamingContainer, GridEditableItem)
Dim
oRTB
As
RadTextBox =
DirectCast
(oItem.FindControl(
"rtbTitle"
), RadTextBox)
System.Diagnostics.Debug.WriteLine(
String
.Format(
" Title: {0}"
, oRTB.Text))
End
Sub
hi, i have a grid with detailtable, loading in detailtablebind event, when i push a button i want loop all selected row in detail table also not expanded...
post some code...
<
telerik:RadGrid
runat
=
"server"
ID
=
"rgrFatturazione"
Skin
=
"Vista"
AllowPaging
=
"True"
AllowSorting
=
"True"
GridLines
=
"None"
style
=
"margin-top: 200px; margin-left:27px;"
Width
=
"900px"
ShowGroupPanel
=
"True"
oncolumncreated
=
"rgrFatturazione_ColumnCreated"
AllowMultiRowSelection
=
"true"
ondetailtabledatabind
=
"rgrFatturazione_DetailTableDataBind"
onitemcommand
=
"rgrFatturazione_ItemCommand"
onitemdatabound
=
"rgrFatturazione_ItemDataBound"
>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
PagerStyle
Mode
=
"NumericPages"
/>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
<
MasterTableView
ShowHeadersWhenNoRecords
=
"true"
>
<
DetailTables
>
<
telerik:GridTableView
Name
=
"Commessa"
Width
=
"100%"
>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"colCustomer"
HeaderText
=
"Cliente"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"colComm"
HeaderText
=
"Commessa"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridClientSelectColumn
UniqueName
=
"checkCom"
/>
</
Columns
>
<
DetailTables
>
<
telerik:GridTableView
Name
=
"Rapportini"
Width
=
"100%"
>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"colCustomer"
HeaderText
=
"Cliente"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"colComm"
HeaderText
=
"Commessa"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"colCheckRap"
ItemStyle-HorizontalAlign
=
"Center"
AllowFiltering
=
"false"
>
<
ItemTemplate
>
<
asp:CheckBox
runat
=
"server"
ID
=
"checkRap"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"colView"
ItemStyle-HorizontalAlign
=
"Center"
AllowFiltering
=
"false"
>
<
ItemTemplate
>
<
asp:Image
runat
=
"server"
ID
=
"linkView"
ImageUrl
=
"~/images/Zoom.png"
>
</
asp:Image
>
<
telerik:RadToolTip
runat
=
"server"
Width
=
"300"
Height
=
"300"
RenderInPageRoot
=
"true"
ShowEvent
=
"OnMouseOver"
HideEvent
=
"ManualClose"
HideDelay
=
"2"
ID
=
"Tooltip"
Position
=
"TopRight"
Animation
=
"Resize"
RelativeTo
=
"Element"
>
</
telerik:RadToolTip
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"colView"
ItemStyle-HorizontalAlign
=
"Center"
AllowFiltering
=
"false"
>
<
ItemTemplate
>
<
asp:LinkButton
runat
=
"server"
ID
=
"linkRappo"
Text
=
"Rapportino"
CommandName
=
"Rapportino"
>
</
asp:LinkButton
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"colCustomer"
HeaderText
=
"Cliente"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"colComm"
HeaderText
=
"Commessa"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
br
/>
<
asp:Button
runat
=
"server"
ID
=
"btnFattura"
Text
=
"Fattura"
onclick
=
"btnFattura_Click"
/>
protected
void
rgrFatturazione_DetailTableDataBind(
object
source, GridDetailTableDataBindEventArgs e)
{
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
if
(e.DetailTableView.Name ==
"Commessa"
)
{
string
Cliente2 = dataItem[
"Codice Cliente"
].Text;
e.DetailTableView.DataSource =
this
._LoadCommesse(
int
.Parse(Cliente2));
}
else
{
string
Cliente3 = dataItem[
"Cliente Commessa"
].Text;
string
Commessa = dataItem[
"Commessa"
].Text;
e.DetailTableView.DataSource =
this
._LoadRapportini(Commessa,
int
.Parse(Cliente3));
}
}
}
protected
void
btnFattura_Click(
object
sender, EventArgs e)
{
foreach
(GridDataItem clienti
in
rgrFatturazione.MasterTableView.Items)
{
foreach
(GridDataItem commesse
in
clienti.ChildItem.NestedTableViews[0].Items)
{
foreach
(GridDataItem rapportini
in
commesse.ChildItem.NestedTableViews[0].Items)
{
}
}
}
}