Hi
Version: 2010 Q2 SP2
1. When grid has at least one real row in row for adding new rows there is text:
“Click here to add new row”.
Problem is when grid is empty and there is only row for adding new rows.
Then this row is selected and there is no text “Click here to add new row”.
It might be confusing to the user – user might not know how to add new row.
How can I display text “Click here to add new row” in row for adding new rows if grid is empty (there are no real rows)?
2. If during adding new row user presses Esc button adding is canceled and text “Click here to add new row” is displaying – this is ok.
How can I know that user canceled adding new row? Is there any event for this?
3. Can I use some another text than “Click here to add new row”?
I would like to define my own text for adding new rows.
Regards.
Hi everybody
I'm designing a "Look & Feel" of an Application, the problem is about Gradients and the Backgrounds.
I have a button with Gradients in "Normal" and "Hover" status. In the "Press" status I have a Solid Background.
So when my Button is "Normal" it is ok. When I "Hover" it is ok. But when I "Press" it. The "Normal" and "Hover" Gradient it is Solid now.
I don't know what is happening.
What I'm doing wrong?
I hope you can help me thanks.
ConditionalFormattingObject obj =
new
ConditionalFormattingObject(
"MyCondition"
, ConditionTypes.Equal,
"Yes"
,
""
,
true
);
obj.CellBackColor = Color.SkyBlue;
obj.CellForeColor = Color.Red;
obj.TextAlignment = ContentAlignment.MiddleRight;
attributesRadGridView.Columns[
"Modified"
].ConditionalFormattingObjectList.Add(obj);
Hi,
When I create a simple hierarchical grid view (example code snippet (4) attached below) I'm getting an exception (2) with a stack trace (3) you can find below. t occurs always when there are 3 or more hierarchy levels. Below I'm describing also reproducibility steps.
Any patch or feedback if I''m doing anything wrong would be appreciated.
Regards.
Reproducibility Steps:
1. Use code snippet
2. Expand all nodes
3. Collapse first root node
1 Exception
ArgumentOutOfRangeException
{
"Index was out of range. Must be non-negative and less than the size of the collection.\r\nParameter name: index"
}
2 Stack trace
01.
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
02.
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
03.
at System.Collections.Generic.List`1.get_Item(Int32 index)
04.
at Telerik.WinControls.UI.PriorityWeakReferenceList.<ReverseForEach>d__0.MoveNext()
05.
at Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessCollection(GridViewEvent gridEvent, PriorityWeakReferenceList list, GridEventProcessMode processMode)
06.
at Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessEvent(GridViewEvent gridEvent)
07.
at Telerik.WinControls.UI.GridViewSynchronizationService.NotifyListeners(GridViewEvent gridEvent)
08.
at Telerik.WinControls.UI.GridViewSynchronizationService.FlushEvents()
09.
at Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewEvent gridEvent)
10.
at Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewTemplate template, GridViewEvent eventData, Boolean postUI)
11.
at Telerik.WinControls.UI.GridViewRowInfo.DispatchEvent(Int32 id, GridEventType type, GridEventDispatchMode dispatchMode, Object originator, Object[] arguments)
12.
at Telerik.WinControls.UI.GridViewRowInfo.OnPropertyChanged(PropertyChangedEventArgs args)
13.
at Telerik.WinControls.UI.GridViewDataRowInfo.OnPropertyChanged(PropertyChangedEventArgs e)
14.
at Telerik.WinControls.UI.GridViewHierarchyRowInfo.OnPropertyChanged(PropertyChangedEventArgs e)
15.
at Telerik.WinControls.UI.GridViewRowInfo.SetBooleanProperty(String propertyName, Int32 propertyKey, Boolean value)
16.
at Telerik.WinControls.UI.GridViewRowInfo.set_IsExpanded(Boolean value)
17.
at Telerik.WinControls.UI.GridGroupExpanderCellElement.expander_RadPropertyChanged(Object sender, RadPropertyChangedEventArgs e)
18.
at Telerik.WinControls.RadPropertyChangedEventHandler.Invoke(Object sender, RadPropertyChangedEventArgs e)
19.
at Telerik.WinControls.RadObject.OnPropertyChanged(RadPropertyChangedEventArgs e)
20.
at Telerik.WinControls.RadElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
21.
at Telerik.WinControls.VisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
22.
at Telerik.WinControls.RadComponentElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
23.
at Telerik.WinControls.RadItem.OnPropertyChanged(RadPropertyChangedEventArgs e)
24.
at Telerik.WinControls.UI.GridExpanderItem.OnPropertyChanged(RadPropertyChangedEventArgs e)
25.
at Telerik.WinControls.RadObject.RaisePropertyNotifications(RadPropertyValue propVal, Object oldValue, Object newValue, ValueSource oldSource)
26.
at Telerik.WinControls.RadObject.SetValueCore(RadPropertyValue propVal, Object propModifier, Object newValue, ValueSource source)
27.
at Telerik.WinControls.RadElement.SetValueCore(RadPropertyValue propVal, Object propModifier, Object newValue, ValueSource source)
28.
at Telerik.WinControls.RadObject.SetValue(RadProperty property, Object value)
29.
at Telerik.WinControls.UI.GridExpanderItem.set_Expanded(Boolean value)
30.
at Telerik.WinControls.UI.GridExpanderItem.OnMouseUp(MouseEventArgs e)
31.
at Telerik.WinControls.RadElement.OnCLREventsRise(RoutedEventArgs args)
32.
at Telerik.WinControls.RadElement.OnBubbleEvent(RadElement sender, RoutedEventArgs args)
33.
at Telerik.WinControls.RadItem.OnBubbleEvent(RadElement sender, RoutedEventArgs args)
34.
at Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args)
35.
at Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args)
36.
at Telerik.WinControls.RadElement.RaiseRoutedEvent(RadElement sender, RoutedEventArgs args)
37.
at Telerik.WinControls.RadElement.DoMouseUp(MouseEventArgs e)
38.
at Telerik.WinControls.RadElement.CallDoMouseUp(MouseEventArgs e)
39.
at Telerik.WinControls.ComponentInputBehavior.OnMouseUp(MouseEventArgs e)
40.
at Telerik.WinControls.RadControl.OnMouseUp(MouseEventArgs e)
41.
at Telerik.WinControls.UI.RadGridView.OnMouseUp(MouseEventArgs e)
42.
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
43.
at System.Windows.Forms.Control.WndProc(Message& m)
44.
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
45.
at Telerik.WinControls.RadControl.WndProc(Message& m)
46.
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
47.
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
48.
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
49.
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
50.
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
51.
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
52.
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
53.
at System.Windows.Forms.Application.Run(Form mainForm)
54.
at TelerikGrid.Program.Main()
in
C:\Users\mbandrowski\Desktop\proof\TelerikGrid\TelerikGrid\Program.cs:line 18
55.
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
56.
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
57.
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
58.
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
59.
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
60.
at System.Threading.ThreadHelper.ThreadStart()
3. Code snippet:
001.
using
System;
002.
using
System.Collections.Generic;
003.
using
System.ComponentModel;
004.
using
System.Data;
005.
using
System.Drawing;
006.
using
System.Linq;
007.
using
System.Text;
008.
using
System.Windows.Forms;
009.
using
Telerik.WinControls.UI;
010.
011.
namespace
TelerikGrid
012.
{
013.
014.
public
class
a
015.
{
016.
public
int
IdA
017.
{
018.
get
;
019.
set
;
020.
}
021.
022.
public
string
strPropertrya
023.
{
024.
get
;
025.
set
;
026.
}
027.
}
028.
029.
public
class
b
030.
{
031.
public
int
IdA
032.
{
033.
get
;
034.
set
;
035.
}
036.
037.
public
int
IdB
038.
{
039.
get
;
040.
set
;
041.
}
042.
043.
public
string
strPropertryb
044.
{
045.
get
;
046.
set
;
047.
}
048.
}
049.
050.
public
class
c
051.
{
052.
public
int
IdB
053.
{
054.
get
;
055.
set
;
056.
}
057.
058.
public
int
IdC
059.
{
060.
get
;
061.
set
;
062.
}
063.
064.
public
string
strPropertryc
065.
{
066.
get
;
067.
set
;
068.
}
069.
}
070.
071.
public
partial
class
Form1 : Form
072.
{
073.
BindingList<a> aList =
new
BindingList<a>();
074.
BindingList<b> bList =
new
BindingList<b>();
075.
BindingList<c> cList =
new
BindingList<c>();
076.
077.
public
Form1()
078.
{
079.
InitializeComponent();
080.
081.
aList.Add(
new
a() { IdA = 1, strPropertrya =
"asd"
});
082.
aList.Add(
new
a() { IdA = 2, strPropertrya =
"fsds"
});
083.
084.
bList.Add(
new
b() { IdA = 1, IdB = 1, strPropertryb =
"xcvxbd"
});
085.
bList.Add(
new
b() { IdA = 1, IdB = 2, strPropertryb =
"cbvasd"
});
086.
bList.Add(
new
b() { IdA = 2, IdB = 3, strPropertryb =
"x54xsd"
});
087.
bList.Add(
new
b() { IdA = 2, IdB = 4, strPropertryb =
"45fasd"
});
088.
089.
cList.Add(
new
c() { IdC = 1, IdB = 1, strPropertryc =
"12435d"
});
090.
cList.Add(
new
c() { IdC = 2, IdB = 1, strPropertryc =
"c34asd"
});
091.
cList.Add(
new
c() { IdC = 3, IdB = 2, strPropertryc =
"x234sd"
});
092.
cList.Add(
new
c() { IdC = 4, IdB = 2, strPropertryc =
"234asd"
});
093.
cList.Add(
new
c() { IdC = 5, IdB = 3, strPropertryc =
"x234bd"
});
094.
cList.Add(
new
c() { IdC = 6, IdB = 3, strPropertryc =
"5243sd"
});
095.
cList.Add(
new
c() { IdC = 7, IdB = 4, strPropertryc =
"x34234"
});
096.
cList.Add(
new
c() { IdC = 8, IdB = 4, strPropertryc =
"45324d"
});
097.
098.
abindingSource.DataSource = aList;
099.
bbindingSource.DataSource = bList;
100.
cbindingSource.DataSource = cList;
101.
102.
GridViewTemplate btempate =
new
GridViewTemplate();
103.
btempate.DataSource = bbindingSource;
104.
radGridView1.MasterTemplate.Templates.Add(btempate);
105.
106.
GridViewRelation brelation =
new
GridViewRelation(radGridView1.MasterTemplate);
107.
brelation.ChildTemplate = btempate;
108.
brelation.ChildColumnNames.Add(
"IdA"
);
109.
brelation.ParentColumnNames.Add(
"IdA"
);
110.
radGridView1.Relations.Add(brelation);
111.
112.
113.
GridViewTemplate ctemplate =
new
GridViewTemplate();
114.
ctemplate.DataSource = cbindingSource;
115.
btempate.Templates.Add(ctemplate);
116.
117.
GridViewRelation crelation =
new
GridViewRelation(btempate);
118.
crelation.ChildTemplate = ctemplate;
119.
crelation.ChildColumnNames.Add(
"IdB"
);
120.
crelation.ParentColumnNames.Add(
"IdB"
);
121.
radGridView1.Relations.Add(crelation);
122.
123.
124.
abindingSource.ResetBindings(
true
);
125.
bbindingSource.ResetBindings(
true
);
126.
cbindingSource.ResetBindings(
true
);
127.
128.
129.
radGridView1.EnableGrouping =
true
;
130.
radGridView1.MasterTemplate.EnableFiltering =
true
;
131.
radGridView1.MasterTemplate.ShowFilteringRow =
true
;
132.
radGridView1.ReadOnly =
true
;
133.
radGridView1.SelectionMode = GridViewSelectionMode.FullRowSelect;
134.
135.
136.
radGridView1.MasterTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.None;
137.
radGridView1.MasterTemplate.Templates[0].AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.None;
138.
radGridView1.MasterTemplate.EnableAlternatingRowColor =
true
;
139.
radGridView1.MasterTemplate.Templates[0].EnableAlternatingRowColor =
true
;
140.
}
141.
142.
143.
/// <summary>
144.
/// Required designer variable.
145.
/// </summary>
146.
private
System.ComponentModel.IContainer components =
null
;
147.
148.
/// <summary>
149.
/// Clean up any resources being used.
150.
/// </summary>
151.
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
152.
protected
override
void
Dispose(
bool
disposing)
153.
{
154.
if
(disposing && (components !=
null
))
155.
{
156.
components.Dispose();
157.
}
158.
base
.Dispose(disposing);
159.
}
160.
161.
#region Windows Form Designer generated code
162.
163.
/// <summary>
164.
/// Required method for Designer support - do not modify
165.
/// the contents of this method with the code editor.
166.
/// </summary>
167.
private
void
InitializeComponent()
168.
{
169.
this
.components =
new
System.ComponentModel.Container();
170.
Telerik.WinControls.UI.GridViewDecimalColumn gridViewDecimalColumn27 =
new
Telerik.WinControls.UI.GridViewDecimalColumn();
171.
Telerik.WinControls.UI.GridViewTextBoxColumn gridViewTextBoxColumn27 =
new
Telerik.WinControls.UI.GridViewTextBoxColumn();
172.
this
.radGridView1 =
new
Telerik.WinControls.UI.RadGridView();
173.
this
.abindingSource =
new
System.Windows.Forms.BindingSource(
this
.components);
174.
this
.bbindingSource =
new
System.Windows.Forms.BindingSource(
this
.components);
175.
this
.cbindingSource =
new
System.Windows.Forms.BindingSource(
this
.components);
176.
((System.ComponentModel.ISupportInitialize)(
this
.radGridView1)).BeginInit();
177.
((System.ComponentModel.ISupportInitialize)(
this
.abindingSource)).BeginInit();
178.
((System.ComponentModel.ISupportInitialize)(
this
.bbindingSource)).BeginInit();
179.
((System.ComponentModel.ISupportInitialize)(
this
.cbindingSource)).BeginInit();
180.
this
.SuspendLayout();
181.
//
182.
// radGridView1
183.
//
184.
this
.radGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
185.
this
.radGridView1.Location =
new
System.Drawing.Point(0, 0);
186.
//
187.
// radGridView1
188.
//
189.
gridViewDecimalColumn27.DataType =
typeof
(
int
);
190.
gridViewDecimalColumn27.FieldName =
"IdA"
;
191.
gridViewDecimalColumn27.HeaderText =
"IdA"
;
192.
gridViewDecimalColumn27.IsAutoGenerated =
true
;
193.
gridViewDecimalColumn27.Name =
"IdA"
;
194.
gridViewDecimalColumn27.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
195.
gridViewTextBoxColumn27.FieldName =
"strPropertrya"
;
196.
gridViewTextBoxColumn27.HeaderText =
"strPropertrya"
;
197.
gridViewTextBoxColumn27.IsAutoGenerated =
true
;
198.
gridViewTextBoxColumn27.Name =
"strPropertrya"
;
199.
this
.radGridView1.MasterTemplate.Columns.AddRange(
new
Telerik.WinControls.UI.GridViewDataColumn[] {
200.
gridViewDecimalColumn27,
201.
gridViewTextBoxColumn27});
202.
this
.radGridView1.MasterTemplate.DataSource =
this
.abindingSource;
203.
this
.radGridView1.Name =
"radGridView1"
;
204.
this
.radGridView1.Padding =
new
System.Windows.Forms.Padding(0, 0, 0, 1);
205.
this
.radGridView1.Size =
new
System.Drawing.Size(478, 415);
206.
this
.radGridView1.TabIndex = 0;
207.
this
.radGridView1.Text =
"radGridView1"
;
208.
//
209.
// abindingSource
210.
//
211.
this
.abindingSource.DataSource =
typeof
(a);
212.
//
213.
// bbindingSource
214.
//
215.
this
.bbindingSource.DataSource =
typeof
(b);
216.
//
217.
// cbindingSource
218.
//
219.
this
.cbindingSource.DataSource =
typeof
(c);
220.
//
221.
// Form1
222.
//
223.
this
.AutoScaleDimensions =
new
System.Drawing.SizeF(6F, 13F);
224.
this
.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
225.
this
.ClientSize =
new
System.Drawing.Size(478, 415);
226.
this
.Controls.Add(
this
.radGridView1);
227.
this
.Name =
"Form1"
;
228.
this
.Text =
"Form1"
;
229.
((System.ComponentModel.ISupportInitialize)(
this
.radGridView1)).EndInit();
230.
((System.ComponentModel.ISupportInitialize)(
this
.abindingSource)).EndInit();
231.
((System.ComponentModel.ISupportInitialize)(
this
.bbindingSource)).EndInit();
232.
((System.ComponentModel.ISupportInitialize)(
this
.cbindingSource)).EndInit();
233.
this
.ResumeLayout(
false
);
234.
235.
}
236.
237.
#endregion
238.
239.
private
Telerik.WinControls.UI.RadGridView radGridView1;
240.
private
System.Windows.Forms.BindingSource abindingSource;
241.
private
System.Windows.Forms.BindingSource bbindingSource;
242.
private
System.Windows.Forms.BindingSource cbindingSource;
243.
}
244.
}