I have my custom VirtualQueryableCollectionView to connect to my database.
I can read data an sorting. Now i would like to do grouping. When i drag and drop column to group panel to group by this column it creates one group expander with null value. When i expand this expander there is all my grid row.
Can you help me how can i create my custom grouping?
Thanks Josef.
grouping?
I can read data an sorting. Now i would like to do grouping. When i drag and drop column to group panel to group by this column it creates one group expander with null value. When i expand this expander there is all my grid row.
Can you help me how can i create my custom grouping?
Thanks Josef.
public
class
VirtualQuery : VirtualQueryableCollectionView
{
WPF.Models.VirtualQuery _cacheVirtualQuery;
CacheConnection _conn;
public
VirtualQuery(WPF.Models.VirtualQuery cacheVirtualQuery)
{
LoadSize = 1000;
_cacheVirtualQuery = cacheVirtualQuery;
_conn = cacheVirtualQuery.Connection;
_cacheVirtualQuery.CreateQuery();
VirtualItemCount = Convert.ToInt16(_cacheVirtualQuery.VirtualItemCount);
ItemsLoading += VirtualQuery_ItemsLoading;
}
private
void
VirtualQuery_ItemsLoading(
object
sender, VirtualQueryableCollectionViewItemsLoadingEventArgs e)
{
SetUpCacheQuery();
_cacheVirtualQuery.ItemsLoading(e.StartIndex, e.ItemCount);
VirtualItemCount = Convert.ToInt16(_cacheVirtualQuery.VirtualItemCount);
#region smazat dynamicky objekt pomale
/*CacheDynamicObject[] DataContext = new CacheDynamicObject[_cacheVirtualQuery.QueryItems.Count] ;
for (int i = 0; i < _cacheVirtualQuery.QueryItems.Count; i++)
{
DataContext[i] = new CacheDynamicObject(_cacheVirtualQuery.QueryItems[i] as CacheArrayOfDataTypes);
}*/
#endregion
object
[] DataContext1 =
new
object
[_cacheVirtualQuery.QueryItems.Count];
for
(
int
i = 0; i < _cacheVirtualQuery.QueryItems.Count; i++)
{
DataContext1[i] =
new
Dictionary<
string
,
string
>(_cacheVirtualQuery.QueryItems[i]
as
CacheArrayOfDataTypes); ;
}
Load(e.StartIndex, DataContext1);
_cacheVirtualQuery.QueryItems.Clear();
_cacheVirtualQuery.Connection.ForceSync();
}
private
void
SetUpCacheQuery()
{
_cacheVirtualQuery.SortDescriptors.Clear();
foreach
(Telerik.Windows.Controls.GridView.ColumnSortDescriptor item
in
SortDescriptors)
{
WPF.Models.SortDescriptor desc =
new
WPF.Models.SortDescriptor(_conn);
desc.SortUniqueName = item.Column.UniqueName;
desc.SortDirection = item.SortDirection.ToString();
_cacheVirtualQuery.SortDescriptors.Add(desc);
}
}
}