Have data as follows:
Column: PrimaryKey: (Int32) ResourceId - not null
Column: (Int32?) : ParentId - can be null.
So top level ParentId fields for ResourceId's will be null.
<SelfHierarchySettings KeyName="ResourceId" ParentKeyName="ParentId" />
Do I have to use a NeedDataSource? Why?
Spent hours trying to get a seemingly simple 5 minute exercise to get a self-referencing grid to work. Paging is off. Googled and Stack-Overflow for hours - nobody has had this problem? Help Please ?
Thanks..
<
telerik:RadGrid
ID
=
"RGHWTreeView"
runat
=
"server"
DataSourceID
=
"EDS_BARHW"
Width
=
"100%"
AllowSorting
=
"True"
ShowStatusBar
=
"True"
ShowFooter
=
"True"
ShowGroupPanel
=
"True"
AutoGenerateColumns
=
"False"
AllowPaging
=
"False"
OnItemInserted
=
"theGrid_ItemInserted"
OnItemUpdated
=
"theGrid_ItemUpdated"
OnItemDeleted
=
"theGrid_ItemDeleted"
OnPreRender
=
"theGrid_PreRender"
OnItemCreated
=
"theGrid_ItemCreated"
OnItemDataBound
=
"theGrid_ItemDataBound"
OnItemCommand
=
"theGrid_ItemCommand"
AllowAutomaticDeletes
=
"True"
AllowAutomaticInserts
=
"True"
AllowAutomaticUpdates
=
"True"
AutoGenerateHierarchy
=
"False"
CellSpacing
=
"0"
GridLines
=
"None"
EnableHeaderContextMenu
=
"True"
OnDeleteCommand
=
"theGrid_DeleteCommand"
OnEditCommand
=
"theGrid_EditCommand"
OnInsertCommand
=
"theGrid_InsertCommand"
>
<
ClientSettings
AllowColumnsReorder
=
"True"
AllowDragToGroup
=
"True"
ReorderColumnsOnClient
=
"True"
EnableRowHoverStyle
=
"True"
AllowColumnHide
=
"True"
AllowKeyboardNavigation
=
"True"
AllowRowHide
=
"True"
ColumnsReorderMethod
=
"Reorder"
>
<
DataBinding
EnableCaching
=
"False"
></
DataBinding
>
<
Selecting
AllowRowSelect
=
"True"
/>
<
Scrolling
AllowScroll
=
"True"
UseStaticHeaders
=
"True"
ScrollHeight
=
"420px"
/>
<
Resizing
AllowColumnResize
=
"True"
AllowRowResize
=
"True"
></
Resizing
>
<
Animation
AllowColumnReorderAnimation
=
"True"
></
Animation
>
</
ClientSettings
>
<
MasterTableView
DataSourceID
=
"EDS_BARHW"
DataKeyNames
=
"ResourceId,ParentId,Owner"
CssClass
=
"w3-tiny"
Name
=
"Hardware Detail: "
Caption
=
"HW Tree Detail"
AllowMultiColumnSorting
=
"True"
EnableHeaderContextAggregatesMenu
=
"True"
EnableHeaderContextFilterMenu
=
"False"
CommandItemDisplay
=
"Top"
EditMode
=
"EditForms"
AllowFilteringByColumn
=
"False"
AllowSorting
=
"True"
ShowHeadersWhenNoRecords
=
"True"
AllowPaging
=
"False"
PageSize
=
"20"
>
<
SelfHierarchySettings
KeyName
=
"ResourceId"
ParentKeyName
=
"ParentId"
/>
<
CommandItemSettings
AddNewRecordText
=
"New Hardware Resource"
ShowExportToCsvButton
=
"True"
ShowExportToExcelButton
=
"True"
ShowExportToWordButton
=
"True"
ShowAddNewRecordButton
=
"True"
></
CommandItemSettings
>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
Visible
=
"True"
></
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
></
ExpandCollapseColumn
>
<
Columns
>
Hi.
I am new to kendo scheduler. Please help me with following issue:
DTSTART:20170614T133000Z // This is event start time
DTEND:20170614T140000Z // This is event end time
Recurrence rule: FREQ=YEARLY;INTERVAL=2;UNTIL=20260616T182959Z;BYMONTH=6;BYMONTHDAY=14
I am using following method in my SQL procedure to get all event occurence between 'rangestartdate' and 'rangeenddate'
SELECT * FROM dbo.ExpandRecurrence('DTSTART:20170614T133000Z ' + Char(10) + 'DTEND:20170614T140000Z ' + Char(10) + 'RRULE:FREQ=YEARLY;INTERVAL=2;UNTIL=20260616T182959Z;BYMONTH=6;BYMONTHDAY=14', 'rangestartdate' ,'rangeenddate' )
I consider, the event start date to be the 'rangestartdate'.The problem is how to determine, the value for 'rangeenddate'??
Please reply, as i am stuck with this problem and finding no solution elsewhere.
Thanks
I have attached 2 files. An aspx page and a code behind vb page. I am trying to apply filter by implementing filter template. I have a radcombobox that filters the radgrid.
Datasource for the radgrid is a dataset defined in aspx.vb. There are 2 tables in the dataset
Radcombobox datasource is a datatable from the above dataset defined in aspx.vb.
Trying to rebind the radgrid after the radcombobox selection both in code behind and on aspx via JS.
1) using the following lines in cmbStateSelectedIndexChanged event does not rebind the grid.
gv_MainStatusDynamic.MasterTableView.FilterExpression = e.Value<
br
> filterItem.FireCommandEvent("Filter", New Pair("Contains", e.Value))<
br
> gv_MainStatusDynamic.Rebind()
2) using FilterExpression in radgrid prerender does not rebind the grid
If isFiltered Then<
br
> If rg_dynamic.MasterTableView.FilterExpression <> "0" Then<
br
> Dim filterItem As GridFilteringItem = TryCast(TryCast(sender, RadComboBox).NamingContainer, GridFilteringItem)<
br
> Dim aCombo As RadComboBox = TryCast(filterItem.FindControl("cmbState"), RadComboBox)<
br
> rg_dynamic.MasterTableView.FilterExpression = Session("StateVal")<
br
> rg_dynamic.MasterTableView.Rebind()<
br
> End If<
br
> End If
3) using filtering in aspx page does not rebind grid.
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock1"
runat
=
"server"
><
br
> <
script
type
=
"text/javascript"
><
br
> function SelectedIndexChanged(sender, args)<
br
> {<
br
> var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>");<
br
> tableView.filter("State", args.get_item().get_value(), "EqualTo");<
br
> }<
br
> </
script
><
br
> </
telerik:RadScriptBlock
>
In my first and second cases after I select a state and I do rg_dynamic.MasterTableView.Rebind(), the cmbState will not hold the selected value.
In my third case applying just that code to filter the grid on aspx side (that is commenting filter expression code in grid prerender and combobox selected index changed server side events) will hold the selected value.
I have the datasource available for both grid and combox box on my server side. The grid will not rebind post filtered value. I came across an example on your forum pages http://demos.telerik.com/aspnet-ajax/grid/examples/functionality/filtering/filter-templates/defaultcs.aspx
But it is not helping me.
Any help on this is appreciated.
Here is my aspx.vb
Protected Sub rg_dynamic_NeedDataSource(sender As Object, e As GridNeedDataSourceEventArgs) Handles rg_dynamic.NeedDataSource<
br
> rg_dynamic.DataSource = GetData()<
br
> End Sub<
br
> <
br
> Private Function GetData() As DataSet<
br
> Using oConn As SqlConnection = New SqlConnection(GenConn())<
br
> 'Gets dataset object<
br
> End Using<
br
> End Function<
br
> <
br
> Protected Sub rg_dynamic_ItemCreated(sender As Object, e As GridItemEventArgs) Handles rg_dynamic.ItemCreated<
br
> If TypeOf e.Item Is GridFilteringItem Then<
br
> Dim filterItem As GridFilteringItem = DirectCast(e.Item, GridFilteringItem)<
br
> Dim cmbState As RadComboBox = DirectCast(filterItem("State").FindControl("cmbState"), RadComboBox)<
br
> cmbState.SelectedValue = e.Item.OwnerTableView.GetColumn("State").CurrentFilterValue<
br
> RefreshStateCombo(cmbState) <
br
> End If<
br
> End Sub<
br
> <
br
> Protected Sub RefreshStateCombo(ByVal stCombo As RadComboBox)<
br
> Dim SprocData As DataSet = GetData()<
br
> Dim oDbDS As New DataBaseUtils2<
br
> Dim StateDate As DataView = SprocData.Tables(0).DefaultView<
br
> Dim dtStatedata As DataTable = StateDate.Table()<
br
> stCombo.DataSource = StateDate<
br
> stCombo.DataTextField = dtStatedata.Columns(1).ToString() 'name of the state<
br
> stCombo.DataValueField = dtStatedata.Columns(0).ToString() 'StateCompID<
br
> End Sub<
br
> <
br
> <
br
> Protected Sub rg_dynamic_PreRender(sender As Object, e As EventArgs) Handles rg_dynamic.PreRender<
br
> If isFiltered Then<
br
> If rg_dynamic.MasterTableView.FilterExpression <> "0" Then<
br
> Dim filterItem As GridFilteringItem = TryCast(TryCast(sender, RadComboBox).NamingContainer, GridFilteringItem)<
br
> Dim aCombo As RadComboBox = TryCast(filterItem.FindControl("cmbState"), RadComboBox)<
br
> rg_dynamic.MasterTableView.FilterExpression = Session("StateVal")<
br
> rg_dynamic.MasterTableView.Rebind()<
br
> End If<
br
> End If<
br
> End Sub<
br
> <
br
> Private isFiltered As Boolean = false<
br
> Protected Sub cmbStateSelectedIndexChanged(sender As Object, e As RadComboBoxSelectedIndexChangedEventArgs) <
br
> If e.Value <> "0" Then<
br
> isFiltered = True<
br
> Session("StateVal") = e.Value<
br
> End If<
br
> 'Dim filterItem As GridFilteringItem = TryCast(TryCast(sender, RadComboBox).NamingContainer, GridFilteringItem)<
br
> 'filterItem.OwnerTableView.GetColumn("StateCompID").CurrentFilterValue = e.Value ''CAPTURE THIS VALUE in a property<
br
> 'rg_dynamic.MasterTableView.FilterExpression = e.Value<
br
> 'filterItem.FireCommandEvent("Filter", New Pair("EqualTo", e.Value))<
br
> ' rg_dynamic.Rebind()<
br
> End Sub
Here is my aspx
<
Telerik:Radgrid
ID
=
"rg_dynamic"
runat
=
"server"
DataKeyNames
=
"StateCompID"
EnableLinqExpressions
=
"false"
<br> BorderStyle="Solid" CellSpacing="0" BorderWidth="1px" AllowAutomaticDeletes="false" AllowMultiRowSelection="false"<
br
> AllowAutomaticInserts="false" AllowAutomaticUpdates="false" AutoGenerateColumns="False" AllowFilteringByColumn="true"<
br
> AllowSorting="True" GridLines="None" AllowPaging="false" Width="100%" MasterTableView-EnableColumnsViewState="false"><
br
> <
br
> <
MasterTableView
><
br
> <
Columns
><
br
> <
br
> <
telerik:GridBoundColumn
DataField
=
"StateCompID"
Visible
=
"False"
HeaderText
=
"StateCompID"
<br> ItemStyle-HorizontalAlign="Left" ReadOnly="True" UniqueName="StateCompID" <
br
> SortExpression="StateCompID"> </
telerik:GridBoundColumn
><
br
> <
br
> <
br
> <
telerik:GridBoundColumn
DataField
=
"State"
HeaderText
=
"State"
SortExpression
=
"State"
HeaderStyle-Width
=
"175"
UniqueName
=
"State"
AllowFiltering
=
"true"
AutoPostBackOnFilter
=
"true"
><
br
> <
FilterTemplate
><
br
> <
telerik:RadComboBox
RenderMode
=
"Lightweight"
ID
=
"cmbState"
AutoPostBack
=
"true"
AutoPostBackOnFilter
=
"true"
<br> Width="200px" AppendDataBoundItems="true" SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("State").CurrentFilterValue%>'<
br
> runat="server" OnClientSelectedIndexChanged="SelectedIndexChanged" OnSelectedIndexChanged="cmbStateSelectedIndexChanged" ><
br
> <
Items
><
br
> <
telerik:RadComboBoxItem
Text
=
"All"
Value
=
"0"
/><
br
> </
Items
><
br
> </
telerik:RadComboBox
><
br
> <
telerik:RadScriptBlock
ID
=
"RadScriptBlock1"
runat
=
"server"
><
br
> <
script
type
=
"text/javascript"
><
br
> function SelectedIndexChanged(sender, args)<
br
> {<
br
> var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>");<
br
> tableView.filter("State", args.get_item().get_value(), "EqualTo");<
br
> }<
br
> </
script
><
br
> </
telerik:RadScriptBlock
><
br
> </
FilterTemplate
><
br
> </
telerik:GridBoundColumn
><
br
> <
telerik:GridBoundColumn
DataField
=
"Company"
HeaderText
=
"Company Type"
ReadOnly
=
"True"
SortExpression
=
"Company"
UniqueName
=
"Company"
<br> ItemStyle-HorizontalAlign="Center" AllowFiltering="false" ShowFilterIcon="false"><
br
> <
br
> </
telerik:GridBoundColumn
><
br
> </
Columns
><
br
> </
MasterTableView
><
br
> <
HeaderContextMenu
CssClass
=
"GridContextMenu GridContextMenu_Default"
><
br
> </
HeaderContextMenu
><
br
>
</
Telerik:Radgrid
>
Hi,
Need help on I export data to Excel it show image on the header column how to remove this filter icon, the columns is dynamic generated.
And here the code I export to Excel
rtlist.GetColumnSafe("Actions").Display = false;
rtlist.ExportSettings.IgnorePaging = true;
rtlist.ExportSettings.OpenInNewWindow = true;
rtlist.ExportSettings.ExportMode = TreeListExportMode.ReplaceControls;
rtlist.ExportToExcel();
Thank
Paul S
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RadDropDownTreeTest.aspx.cs" Inherits="ALPS.Net.Development.RadDropDownTreeTest" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
></
telerik:RadScriptManager
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
DefaultLoadingPanelID
=
"RadAjaxLoadingPanel1"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadDropDownList1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadDropDownList2"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"SelectedValue"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Default"
></
telerik:RadAjaxLoadingPanel
>
<
div
>
<
telerik:RadDropDownList
ID
=
"RadDropDownList1"
runat
=
"server"
AutoPostBack
=
"true"
OnSelectedIndexChanged
=
"RadDropDownList1_SelectedIndexChanged"
>
<
Items
>
<
telerik:DropDownListItem
Value
=
"alpha"
Text
=
"Alpha"
Selected
=
"true"
/>
<
telerik:DropDownListItem
Value
=
"num"
Text
=
"Numeric"
/>
</
Items
>
</
telerik:RadDropDownList
>
</
div
>
<
div
>
<
telerik:RadDropDownList
ID
=
"RadDropDownList2"
runat
=
"server"
></
telerik:RadDropDownList
>
</
div
>
<
div
>
<
telerik:RadDropDownTree
ID
=
"RadDropDownTree1"
runat
=
"server"
DataFieldParentID
=
"ParentID"
DataFieldID
=
"ID"
DataTextField
=
"Text"
DataValueField
=
"Value"
>
</
telerik:RadDropDownTree
>
</
div
>
<
div
>
<
asp:Label
ID
=
"SelectedValue"
runat
=
"server"
/>
</
div
>
</
form
>
</
body
>
</
html
>
using
System;
using
System.Collections.Generic;
using
System.Data;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
Telerik.Web.UI;
namespace
ALPS.Net.Development
{
public
partial
class
RadDropDownTreeTest : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
RadDropDownTree1.DataSource = GetData();
RadDropDownTree1.NodeDataBound += RadDropDownTree1_NodeDataBound;
if
(!IsPostBack)
{
BuildAlphaList();
RadDropDownTree1.DataBind();
}
SelectedValue.Text = RadDropDownTree1.SelectedValue;
}
void
RadDropDownTree1_NodeDataBound(
object
sender, Telerik.Web.UI.DropDownTreeNodeDataBoundEventArguments e)
{
if
(e.DropDownTreeNode.Text ==
"Text2 "
)
e.DropDownTreeNode.CreateEntry();
}
public
DataTable GetData()
{
DataTable table =
new
DataTable();
table.Columns.Add(
"ID"
);
table.Columns.Add(
"ParentID"
);
table.Columns.Add(
"Value"
);
table.Columns.Add(
"Text"
);
table.Rows.Add(
new
String[] {
"1"
,
null
,
"customValue1"
,
"Text1 "
});
table.Rows.Add(
new
String[] {
"2"
,
"1"
,
"customValue2"
,
"Text2 "
});
table.Rows.Add(
new
String[] {
"3"
,
"2"
,
"customValue3"
,
"Text3 "
});
table.Rows.Add(
new
String[] {
"4"
,
"3"
,
"customValue4"
,
"Text4 "
});
table.Rows.Add(
new
String[] {
"5"
,
"3"
,
"customValue5"
,
"Text5 "
});
table.Rows.Add(
new
String[] {
"6"
,
"5"
,
"customValue2"
,
"Text6 "
});
table.Rows.Add(
new
String[] {
"7"
,
"6"
,
"customValue2"
,
"Text7 "
});
table.Rows.Add(
new
String[] {
"8"
,
"7"
,
"customValue2"
,
"Text8 "
});
table.Rows.Add(
new
String[] {
"9"
,
"1"
,
"customValue9"
,
"Text9 "
});
table.Rows.Add(
new
String[] {
"10"
,
"1"
,
"customValue10"
,
"Text10 "
});
return
table;
}
public
void
BuildAlphaList()
{
RadDropDownList2.Items.Clear();
RadDropDownList2.Items.Add(
new
DropDownListItem { Value=
"A"
, Text=
"A"
});
RadDropDownList2.Items.Add(
new
DropDownListItem { Value =
"B"
, Text =
"B"
});
RadDropDownList2.Items.Add(
new
DropDownListItem { Value =
"C"
, Text =
"C"
});
}
public
void
BuildNumList()
{
RadDropDownList2.Items.Clear();
RadDropDownList2.Items.Add(
new
DropDownListItem { Value =
"1"
, Text =
"1"
});
RadDropDownList2.Items.Add(
new
DropDownListItem { Value =
"2"
, Text =
"2"
});
RadDropDownList2.Items.Add(
new
DropDownListItem { Value =
"3"
, Text =
"3"
});
}
protected
void
RadDropDownList1_SelectedIndexChanged(
object
sender, DropDownListEventArgs e)
{
if
(e.Value ==
"alpha"
)
BuildAlphaList();
else
BuildNumList();
}
}
}
<
telerik:RadScriptBlock
runat
=
"server"
ID
=
"RadScriptBlock1"
>
<
script
type
=
"text/javascript"
>
function openWindow() {
var window = $find('<%= crWindow.ClientID %>');
alert("open");
window.show();
}
function onWindowClosed(sender, args) {
var ajaxManager = $find('<%= RadAjaxManager.GetCurrent(Page).ClientID %>');
ajaxManager.ajaxRequest('crWindow');
alert("close");
}
</
script
>
</
telerik:RadScriptBlock
>
<
telerik:RadWindowManager
runat
=
"server"
ID
=
"crWindowManager"
>
<
Windows
>
<
telerik:RadWindow
runat
=
"server"
ID
=
"crWindow"
Title
=
"test"
Behaviors
=
"Close,Resize,Move,Maximize"
OnClientClose
=
"onWindowClosed"
VisibleOnPageLoad
=
"False"
VisibleStatusbar
=
"False"
Modal
=
"true"
Width
=
"480px"
Height
=
"390px"
KeepInScreenBounds
=
"true"
ShowContentDuringLoad
=
"true"
/>
</
Windows
>
</
telerik:RadWindowManager
>
<
asp:Table
ID
=
"tableMasterMCA"
runat
=
"server"
>
<
asp:TableRow
>
<
asp:TableCell
>
<
asp:LinkButton
ID
=
"lnkCR"
runat
=
"server"
>Test</
asp:LinkButton
>
</
asp:TableCell
>
</
asp:TableRow
>
</
asp:Table
>
protected
void
Page_Load(
object
sender, EventArgs e)
{
lnkCR.Attributes.Add(
"onclick"
,
"return openWindow()"
);
crWindow.NavigateUrl =
"~/Pages/CRForm.aspx"
;
}
Hello,
I have a page with a RadListView multiple RadGrids binded on server-side with the same type of objects and same columns.
I would like to apply filters on all grids when changing a filter on one of them (client-side).
I tried handling the following client events on each grid :
- OnCommand, in order to save filters of the filtered grid in a global javascript variable
- OnGridCreated, in order to apply saved filters on each grid using the javascript variable
However, it doesn't work because my javascript variable is back to null value when hitting OnGridCreated event.
Is there a better way to do this (= sharing filters between multiple grids) ?
Thanks in advance.
Best regards,
Eva
With regard to this previous thread: http://www.telerik.com/forums/rad-grid-import-from-excel
2 things.
First, I've examined the code and I'm a bit confused. I thought this technique only worked for XLS format, not the new XLSX.
Second, I have had an app up and running for some time now using that technique to import xls files without any problem.
Now, suddenly I cannot perform this operation locally in Visual Studio.2012 (It was working fine during the original development) It crashes: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
As far I know this is part of the package Microsoft Access Database Engine 2010. I have version 14 installed.
Suggestions?