I need to find the selected range of cells in a radPivotGridView.
After I load the radPivotGrid with appropriate DataSources' binding, I need to find when the user has made a selection(i.e. once he releases the left mouse button) on the data displayed under it. I tried to use the MouseCapture event but was unable to access the selected info. in any way.
Kindly help.
i have autocompletebox that is connected to a database to get autocomplete items
the problem is that i can't search with what i type unless i start with the the first letters of the value as an example :
hot tea
i have to type hot to find the value what i want is that i type tea or even 2 letters ea to find the value
Dear support,
i my application in use two classes who implements INotifyPropertyChanged to reflect the changes on them automaticly in gridview.
These is working quit nice, when using the gui thread.
my application is listening to multiple comports and starts adding new entry's from another thread to this classes.
INotifyPropertyChanged of courses raises an update for the gridview, so that the grid raises an exception because of the wrong thread
where must in place the invoke to make this call thread safe. in the form itself or on the gridview.
Thank you
Martin Gartmann
Hi,
I have RadPageView with a lot of items, which are organized by categories.
I'd like that when I click on a category title (PageViewItemType.GroupHeaderItem?) I display the pages which are related to this GroupHeaderItem.
Eg.
Organisation (GroupHeaderItem)
- Page1
- Page 2
Administration (GroupHeaderItem)
- Admin 1
- Admin 2
I don't see how to accomplish that with RadPageView.
I chose RadPageView over RadTreeView because the management of the forms that are shown are managed perfectly with RadPageView.
Thank you for your help.
Hey guys,
My issue is to show some field value (readonly) from parent object in child view template, so that the first comes parent's field value and below it goes detail rows as usual.
In my example I had to add unnecessary public List<string> Details { get; } = new List<string>(); property to make second tab.
Is it possible to add some control to GridViewTemplate without using multiple child views?
Prepared example:
public sealed class Student
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string AdditionalInfo { get; set; }
public List<
Award
> Awards { get; } = new List<
Award
>();
public List<
string
> Details { get; } = new List<
string
>();
public static List<
Student
> GenerateList()
{
var students = new List<
Student
>();
for (int studentIndex = 1; studentIndex <= 5; studentIndex++)
{
var student = new Student()
{
Id = studentIndex,
FirstName = $"FirstName {studentIndex}",
LastName = $"LastName {studentIndex}",
AdditionalInfo = $"blah blah blah.... {studentIndex}"
};
for (int awardIndex = 1; awardIndex <= 5; awardIndex++)
{
var award = new Award()
{
FundName = $"FundName {awardIndex}",
Amount = studentIndex * 100 + awardIndex,
};
student.Awards.Add(award);
}
student.Details.Add($"unused text {studentIndex}");
students.Add(student);
}
return students;
}
}
public sealed class Award
{
public string FundName { get; set; }
public double Amount { get; set; }
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
radGridView1.ReadOnly = true;
radGridView1.Columns.Add(new GridViewTextBoxColumn("FirstName"));
radGridView1.Columns.Add(new GridViewTextBoxColumn("LastName"));
GridViewTemplate childTemplate2 = CreateChildTemplate2();
GridViewRelation relation2 = new GridViewRelation(this.radGridView1.MasterTemplate, childTemplate2);
relation2.ChildColumnNames.Add("Details");
this.radGridView1.Relations.Add(relation2);
GridViewTemplate childTemplate1 = CreateChildTemplate1();
GridViewRelation relation = new GridViewRelation(this.radGridView1.MasterTemplate, childTemplate1);
relation.ChildColumnNames.Add("Awards");
this.radGridView1.Relations.Add(relation);
this.radGridView1.DataSource = Student.GenerateList();
radGridView1.AutoGenerateColumns = false;
radGridView1.CellFormatting += RadGridView1_CellFormatting;
this.radGridView1.TableElement.PageViewMode = PageViewMode.ExplorerBar;
var aa = this.radGridView1.TableElement.PageViewProvider;
}
private void RadGridView1_CellFormatting(object sender, CellFormattingEventArgs e)
{
GridViewDataColumn column = e.CellElement.ColumnInfo as GridViewDataColumn;
if (column != null && column.OwnerTemplate.Caption == "aa")
{
e.CellElement.TableElement.Visibility = Telerik.WinControls.ElementVisibility.Hidden;
RadPageViewContentAreaElement content = e.CellElement.TableElement.Parent as RadPageViewContentAreaElement;
RadLabelElement radLabelElement = new RadLabelElement();
if (content.FindDescendant<
RadLabelElement
>() == null)
{
content.Children.Add(radLabelElement);
var row = (GridViewHierarchyRowInfo)e.CellElement.RowInfo.Parent;
var student = (Student)row.DataBoundItem;
radLabelElement.Text = student.AdditionalInfo;
}
}
else
{
e.CellElement.TableElement.Visibility = Telerik.WinControls.ElementVisibility.Visible;
RadPageViewContentAreaElement content = e.CellElement.TableElement.Parent as RadPageViewContentAreaElement;
if (content != null)
{
RadLabelElement el = content.FindDescendant<
RadLabelElement
>();
if (el != null)
{
content.Children.Remove(el);
el.Dispose();
}
}
}
}
private GridViewTemplate CreateChildTemplate1()
{
GridViewTemplate childTemplate = new GridViewTemplate();
this.radGridView1.Templates.Add(childTemplate);
GridViewTextBoxColumn column = new GridViewTextBoxColumn("FundName");
childTemplate.Columns.Add(column);
column = new GridViewTextBoxColumn("Amount");
childTemplate.Columns.Add(column);
childTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
childTemplate.Caption = "11";
return childTemplate;
}
private GridViewTemplate CreateChildTemplate2()
{
GridViewTemplate childTemplate = new GridViewTemplate();
this.radGridView1.Templates.Add(childTemplate);
GridViewTextBoxColumn column = new GridViewTextBoxColumn();
childTemplate.Columns.Add(column);
childTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
childTemplate.Caption = "aa";
return childTemplate;
}
}
Thanks
Hi,
If I apply a Number Format to aggregate values, e.g. #.00 €, this also applies to Print, but not to Export to xlsx (but applies to export to XML). Is is possible to apply number format to xlsx Export as well?
Thanks,
Alex
Private
Sub
radGridView1_CreateCompositeFilterDialog(e
As
GridViewCreateCompositeFilterDialogEventArgs, senderName
As
String
, column
As
GridViewDataColumn)
Dim
filterDialog
As
CompositeFilterForm
Dim
compositeFilterDescriptor
As
CompositeFilterDescriptor
If
senderName.ToLower() =
"equals"
Then
compositeFilterDescriptor =
New
CompositeFilterDescriptor()
compositeFilterDescriptor.LogicalOperator = FilterLogicalOperator.
Or
compositeFilterDescriptor.IsFilterEditor =
True
compositeFilterDescriptor.FilterDescriptors.Add(
New
DateFilterDescriptor(
"colReceived"
, FilterOperator.IsEqualTo,
Date
.Now)
With
{
.IsFilterEditor =
True
,
.IgnoreTimePart =
True
})
compositeFilterDescriptor.FilterDescriptors.Add(
New
DateFilterDescriptor(
"colReceived"
, FilterOperator.IsEqualTo,
Date
.Now)
With
{
.IsFilterEditor =
True
,
.IgnoreTimePart =
True
})
ElseIf
senderName.ToLower() =
"not equal to"
Then
compositeFilterDescriptor =
New
CompositeFilterDescriptor()
compositeFilterDescriptor.LogicalOperator = FilterLogicalOperator.
And
compositeFilterDescriptor.NotOperator =
True
compositeFilterDescriptor.IsFilterEditor =
True
compositeFilterDescriptor.FilterDescriptors.Add(
New
FilterDescriptor(
"colReceived"
, FilterOperator.IsEqualTo,
Date
.Now))
compositeFilterDescriptor.FilterDescriptors.Add(
New
FilterDescriptor(
"colReceived"
, FilterOperator.None,
Nothing
))
ElseIf
....
End
If
If
compositeFilterDescriptor IsNot
Nothing
Then
filterDialog =
New
CompositeFilterForm(column, compositeFilterDescriptor)
Else
filterDialog =
New
CompositeFilterForm()
End
If
AddHandler
filterDialog.FormClosing,
AddressOf
test2
e.Dialog = filterDialog
End
Sub
Private
Sub
item_MouseUp(sender
As
Object
, column
As
GridViewDataColumn)
AddHandler
radGridView1.CreateCompositeFilterDialog,
Sub
(s
As
Object
, e2
As
GridViewCreateCompositeFilterDialogEventArgs)
radGridView1_CreateCompositeFilterDialog(e2,
CType
(sender, RadItem).AccessibleName, column)
End
Sub
End
Sub
How can I load the window with the appropriate filters prefilled to the form?
It looks like we're on Telerik version 2017.3.1017.
Hi,
when I manually resize columns on PivotGrid and then run Export to Excel (or PDF) - row descriptor columns (Day, Aggregates) are same size in Excel, but aggregates columns somehow resized. Is it by design or there is a way to export row descriptor columns width as well?
Alex