Folks,
I am using ASP.Net Ajax Q2 2011 with VS 2010. Below is my Grid Table Laout.
Parent Table
---- Detail Table 1 (GridTableView Name = "Detail")
--- Detail Table 1.1
---- Detail Table 2
My desired expectations:
1) While I am scrolling rows in Parent Table, I would like to get the row counts of related Detail Table 1 but not row counts of other Detail Tables.
2) Also if I am scrolling rows in Detail Table 1, do nothing.
Below works to get the Row Count of Parent Table; but having some difficulty to getting row count of Related Detail Table 1.
function RowCount(sender, args)
{
var grid = $find("<%=RadGrid1.ClientID %>");
var MasterTable = grid.get_masterTableView();
var Rows = MasterTable.get_dataItems();
// Need Help here to get the Row Count of Detail Table 1 and Pass into TextBox RowCountTextBox...
alert(Rows.length);
document.getElementById("<%=RowCountTextBox.ClientID %>").value = parseInt(Rows.length);
}
Rad Grid Settings:
'''
HierarchyLoadMode = "ServerBind"
'''
<
ClientEvents
OnFilterMenuShowing
=
"filterMenuShowing"
OnRowSelected
=
"RowCount"
/>
'''
'''
<
asp:TextBox
ID
=
"RowCountTextBox"
runat
=
"server"
Text
=
""
Width
=
"400px"
> </
asp:TextBox
>
EscalonamentoFacturasEntities objectContx = new EscalonamentoFacturasEntities();
RadGrid2.DataSource = objectContx.UsersAssignResume();
RadGrid2.DataBind();
objectContx.ExecuteStoreCommand(
"Delete from Table Where Table.UserName = @par");
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
GridLines
=
"None"
AllowPaging
=
"True"
AllowSorting
=
"True"
AutoGenerateColumns
=
"False"
Width
=
"97%"
enableajax
=
"True"
AllowFilteringByColumn
=
"True"
ShowFooter
=
"True"
Skin
=
"Black"
OnItemCommand
=
"RadGrid1_ItemCommand"
OnGridExporting
=
"RadGrid1_GridExporting"
AllowMultiRowSelection
=
"True"
OnItemDataBound
=
"RadGrid1_ItemDataBound"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
></
PagerStyle
>
<
ClientSettings
AllowColumnsReorder
=
"True"
ReorderColumnsOnClient
=
"True"
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"True"
/>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"SequencialNumber"
Width
=
"100%"
CommandItemSettings-ShowExportToCsvButton
=
"True"
CommandItemSettings-ShowAddNewRecordButton
=
"false"
CommandItemDisplay
=
"Top"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"SequencialNumber"
HeaderText
=
"SequencialNumber"
UniqueName
=
"SequencialNumber"
SortExpression
=
"SequencialNumber"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Priority"
HeaderText
=
"Priority"
UniqueName
=
"Priority"
FilterControlAltText
=
"Filter Priority column"
SortExpression
=
"Priority"
DataType
=
"System.Int32"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Process"
HeaderText
=
"Staging"
UniqueName
=
"Process"
SortExpression
=
"Process"
FilterControlAltText
=
"Filter Process column"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"SupplierCode"
HeaderText
=
"SupplierCode"
UniqueName
=
"SupplierCode"
SortExpression
=
"SupplierCode"
FilterControlAltText
=
"Filter SupplierCode column"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"MessageStatus"
HeaderText
=
"MessageStatus"
UniqueName
=
"MessageStatus"
SortExpression
=
"MessageStatus"
FilterControlAltText
=
"Filter MessageStatus column"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"DocumentType"
HeaderText
=
"DocumentType"
UniqueName
=
"DocumentType"
FilterControlAltText
=
"Filter DocumentType column"
SortExpression
=
"DocumentType"
>
</
telerik:GridBoundColumn
>
<
telerik:GridDateTimeColumn
UniqueName
=
"InvoiceCreationDate"
DataField
=
"InvoiceCreationDate"
HeaderText
=
"InvoiceCreationDate"
FilterControlAltText
=
"Filter InvoiceCreationDate column"
SortExpression
=
"InvoiceCreationDate"
>
<
FilterTemplate
>
<
telerik:RadDatePicker
ID
=
"RadDatePicker1"
runat
=
"server"
>
</
telerik:RadDatePicker
>
</
FilterTemplate
>
</
telerik:GridDateTimeColumn
>
<
telerik:GridBoundColumn
DataField
=
"SupplierVatNumber"
FilterControlAltText
=
"Filter SupplierVatNumber column"
HeaderText
=
"SupplierVatNumber"
SortExpression
=
"SupplierVatNumber"
UniqueName
=
"SupplierVatNumber"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
ExpandCollapseColumn
Visible
=
"False"
>
<
HeaderStyle
Width
=
"19px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
RowIndicatorColumn
Visible
=
"False"
>
<
HeaderStyle
Width
=
"20px"
/>
</
RowIndicatorColumn
>
</
MasterTableView
>
<
FilterMenu
EnableImageSprites
=
"False"
>
</
FilterMenu
>
<
HeaderContextMenu
CssClass
=
"GridContextMenu GridContextMenu_Default"
>
</
HeaderContextMenu
>
</
telerik:RadGrid
>
public partial class InvoicesScalingDefault : iConnect.Web.iConnect, IInvoicesScale
{
private InvoicesScalePresenter _presenter;
public System.Collections.Generic.IList<
Data.SapDocuments
> SapDocuments
{
get;
set;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this._presenter.OnViewInitialized();
LoadData();
}
this._presenter.OnViewLoaded();
}
[CreateNew]
public InvoicesScalePresenter Presenter
{
set
{
this._presenter = value;
this._presenter.View = this;
}
}
/// <
summary
>
/// Carregar RadGrid1 com o objecto SapDocuments
/// </
summary
>
private void LoadData()
{
string user = Page.User.Identity.Name.Substring(Page.User.Identity.Name.IndexOf("\\") + 1);
EscalonamentoFacturasEntities objectContx = new EscalonamentoFacturasEntities();
RadGrid1.DataSource = objectContx.ShowUnprocessedInvoices(user);
//RadGrid1.DataBind();
}
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == Telerik.Web.UI.RadGrid.ExportToCsvCommandName)
{
RadGrid1.MasterTableView.Columns.FindByUniqueName("SequencialNumber").Visible = true;
RadGrid1.ExportSettings.IgnorePaging = true;
int count = 0;
foreach (GridColumn column in RadGrid1.Columns)
{
if (column.Visible)
{
if (count > 0)
column.Visible = false;
else
count++;
}
}
}
}
protected void RadGrid1_GridExporting(object sender, GridExportingArgs e)
{
e.ExportOutput = e.ExportOutput.Replace("\"\r\n\"", "\"\r\n\"'");
}
public partial class InvoicesScalingDefault : iConnect.Web.iConnect, IInvoicesScale
{
private InvoicesScalePresenter _presenter;
public System.Collections.Generic.IList<
Data.SapDocuments
> SapDocuments
{
get;
set;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this._presenter.OnViewInitialized();
LoadData();
}
this._presenter.OnViewLoaded();
}
[CreateNew]
public InvoicesScalePresenter Presenter
{
set
{
this._presenter = value;
this._presenter.View = this;
}
}
/// <
summary
>
/// Carregar RadGrid1 com o objecto SapDocuments
/// </
summary
>
private void LoadData()
{
string user = Page.User.Identity.Name.Substring(Page.User.Identity.Name.IndexOf("\\") + 1);
EscalonamentoFacturasEntities objectContx = new EscalonamentoFacturasEntities();
RadGrid1.DataSource = objectContx.ShowUnprocessedInvoices(user);
//RadGrid1.DataBind();
}
protected void RadGrid1_GridExporting(object sender, GridExportingArgs e)
{
e.ExportOutput = e.ExportOutput.Replace("\"\r\n\"", "\"\r\n\"'");
}
protected void ShowProcessed_Click(object sender, EventArgs e)
{
string user = Page.User.Identity.Name.Substring(Page.User.Identity.Name.IndexOf("\\") + 1);
EscalonamentoFacturasEntities objectContx = new EscalonamentoFacturasEntities();
RadGrid1.DataSource = objectContx.ShowProcessedInvoices(user);
RadGrid1.DataBind();
}
protected void ShowUnProcessed_Click(object sender, EventArgs e)
{
LoadData();
}
<telerik:GridTemplateColumn UniqueName="Delete" Display="true" HeaderText=" " ItemStyle-Width="20px" HeaderStyle-Width="40px" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"> |
<ItemTemplate> |
<asp:ImageButton CssClass="test" ImageUrl="~/images/silk/cancel.png" ID="btnDeleteItem" runat="server" CommandArgument='<%# Eval("Id") %>' onclick="btnDeleteItem_Click" /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" Inherits="Main" %>
<%@ Register TagPrefix="rad" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
style
type
=
"text/css"
>
.StdFont {FONT-SIZE: 11px; FONT-FAMILY: Arial; vertical-align: top;}
.BoldFont {FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: Arial; vertical-align: top;}
.TableBase { width: 100%;}
.Textfont{FONT-FAMILY:Arial;FONT-SIZE:11px;}
.ReqFont{FONT-SIZE: 0.9em; FONT-FAMILY: Arial; FONT-WEIGHT:Bold;}
.VMSAjaxLoadingPanelBackground { height: 100%; background:#fff; }
.VMSAjaxLoadingPanel { margin-top: 25px; }
</
style
>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
style
=
"height:100%"
>
<
head
runat
=
"server"
>
<
title
>Main</
title
>
<
meta
http-equiv
=
"X-UA-Compatible"
content
=
"IE=EmulateIE7"
/>
</
head
>
<
body
style
=
"margin:0px;height:100%;overflow:hidden; cursor:default;"
>
<
form
id
=
"form1"
runat
=
"server"
>
<
rad:RadScriptManager
runat
=
"server"
ID
=
"radSM"
AsyncPostBackTimeout
=
"3600"
></
rad:RadScriptManager
>
<
asp:Panel
ID
=
"pnlMain"
runat
=
"server"
>
<
div
>
<
rad:RadSplitter
runat
=
"server"
id
=
"RadSplitter1"
Orientation
=
"Vertical"
width
=
"98%"
height
=
"85%"
LiveResize
=
"True"
>
<
rad:RadPane
runat
=
"server"
id
=
"LeftPane"
width
=
"2%"
Collapsed
=
"false"
>
<
rad:RadSlidingZone
ID
=
"RadSlidingZone2"
runat
=
"server"
ExpandedPaneId
=
"RadSlidingPane1"
DockedPaneId
=
"RadSlidingPane1"
>
<
rad:RadSlidingPane
ID
=
"RadSlidingPane1"
runat
=
"server"
EnableDock
=
"true"
MinWidth
=
"355"
CollapseMode
=
"Both"
Title
=
"Filter"
TabView
=
"TextOnly"
Width
=
"380px"
>
<
asp:Panel
ID
=
"pnlHolder"
runat
=
"server"
>
<
br
/>
<
asp:Panel
id
=
"pnlSelection"
Width
=
"95%"
HorizontalAlign
=
"Center"
Runat
=
"server"
GroupingText
=
"Filter Criteria"
CssClass
=
"BoldFont"
>
<
br
/>
<
table
cellspacing
=
"0"
cellpadding
=
"0"
width
=
"100%"
>
<
tr
>
<
td
valign
=
"top"
width
=
"20%"
align
=
"left"
></
td
>
<
td
></
td
>
</
tr
>
<
tr
>
<
td
valign
=
"top"
width
=
"20%"
align
=
"left"
>
<
asp:Label
id
=
"lbl1"
Runat
=
"server"
CssClass
=
"BoldFont"
>Department:</
asp:Label
></
td
>
<
td
valign
=
"top"
align
=
"left"
>
<
asp:dropdownlist
ID
=
"ddl1"
runat
=
"server"
CssClass
=
"StdFont"
>
</
asp:dropdownlist
></
td
>
</
tr
>
<
tr
>
<
td
valign
=
"top"
align
=
"left"
>
<
asp:Label
id
=
"lbllist2"
Runat
=
"server"
CssClass
=
"BoldFont"
>Branch:</
asp:Label
></
td
>
<
td
valign
=
"top"
align
=
"left"
>
<
asp:Panel
ID
=
"List"
runat
=
"server"
Width
=
"95%"
Height
=
"150px"
ScrollBars
=
"Auto"
>
<
asp:CheckBoxList
ID
=
"lblListSelection"
runat
=
"server"
Width
=
"93%"
BorderWidth
=
"1"
BorderStyle
=
"Solid"
CssClass
=
"StdFont"
Font-Bold
=
"false"
>
</
asp:CheckBoxList
>
</
asp:Panel
>
</
td
>
</
tr
>
<
tr
>
<
td
valign
=
"top"
align
=
"left"
>
</
td
>
<
td
valign
=
"top"
align
=
"left"
>
</
td
>
</
tr
>
</
table
>
</
asp:Panel
>
<
br
/>
<
asp:Panel
ID
=
"pnlFilter"
Runat
=
"server"
Width
=
"80%"
HorizontalAlign
=
"Center"
GroupingText
=
"Additional Filter Criteria"
CssClass
=
"BoldFont"
>
<
br
/>
</
asp:Panel
>
</
asp:Panel
>
</
rad:RadSlidingPane
>
</
rad:RadSlidingZone
>
</
rad:RadPane
>
<
rad:RadSplitBar
runat
=
"server"
id
=
"RadSplitBar1"
/>
<
rad:RadPane
runat
=
"server"
id
=
"RightPane"
Width
=
"100%"
>
<
rad:RadSplitter
runat
=
"server"
id
=
"InnerSplitter"
Orientation
=
"Horizontal"
LiveResize
=
"true"
>
<
rad:RadPane
runat
=
"server"
id
=
"TopPane"
Height
=
"30%"
Width
=
"98%"
>
<
asp:Panel
id
=
"pnlGrid"
Width
=
"98%"
HorizontalAlign
=
"Center"
Runat
=
"server"
borderwidth
=
"0px"
Height
=
"98%"
>
<
rad:RadGrid
id
=
"RadGrid1"
ShowStatusBar
=
"false"
runat
=
"server"
AllowPaging
=
"True"
AllowSorting
=
"True"
AllowMultiRowSelection
=
"False"
AutoGenerateColumns
=
"false"
EnableViewState
=
"true"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
OnItemCommand
=
"RadGrid1_ItemCommand"
Width
=
"100%"
Height
=
"100%"
Skin
=
"Windows7"
AllowFilteringByColumn
=
"true"
EnableLinqExpressions
=
"false"
>
<
MasterTableView
Width
=
"98%"
TableLayout
=
"Fixed"
EnableViewState
=
"true"
CommandItemDisplay
=
"None"
>
<
Columns
>
<
rad:GridTemplateColumn
UniqueName
=
"CheckBoxTemplateColumn"
HeaderStyle-Width
=
"3%"
AllowFiltering
=
"false"
Resizable
=
"false"
>
<
ItemTemplate
>
<
asp:CheckBox
id
=
"CheckBox1"
OnCheckedChanged
=
"ToggleRowSelection"
AutoPostBack
=
"True"
runat
=
"server"
></
asp:CheckBox
>
</
ItemTemplate
>
</
rad:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
EnableRowHoverStyle
=
"true"
Resizing-AllowColumnResize
=
"true"
Resizing-AllowRowResize
=
"false"
Resizing-EnableRealTimeResize
=
"false"
Resizing-ClipCellContentOnResize
=
"false"
AllowColumnsReorder
=
"true"
EnablePostBackOnRowClick
=
"true"
>
<
Scrolling
AllowScroll
=
"true"
UseStaticHeaders
=
"true"
/>
</
ClientSettings
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
Height
=
"10px"
VerticalAlign
=
"Bottom"
Position
=
"Bottom"
></
PagerStyle
>
</
rad:RadGrid
>
</
asp:Panel
>
</
rad:RadPane
>
<
rad:RadSplitBar
runat
=
"server"
id
=
"RadSplitBar2"
EnableResize
=
"true"
/>
<
rad:RadPane
runat
=
"server"
id
=
"BottomPane"
Width
=
"98%"
>
<
iframe
id
=
"frm1"
runat
=
"server"
width
=
"100%"
height
=
"100%"
frameborder
=
"0"
></
iframe
>
</
rad:RadPane
>
</
rad:RadSplitter
>
</
rad:RadPane
>
</
rad:RadSplitter
>
</
div
>
</
asp:Panel
>
</
form
>
</
body
>
</
html
>