This is a migrated thread and some comments may be shown as answers.

How to enable row borders

11 Answers 837 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Danil
Top achievements
Rank 1
Danil asked on 21 Apr 2009, 10:45 AM
Hello, Telerik Team.

I have two questions.

1.
I'm using default Telerik theme:
this.ThemeClassName = "Telerik.WinControls.UI.RadGridView";  
this.ThemeName = "ControlDefault"
And now I should implement lines between rows. I tryed solve this with next code:
        void _gridView_CellFormatting(object sender, Telerik.WinControls.UI.CellFormattingEventArgs e)  
        {  
            GridDataCellElement cell = e.CellElement as GridDataCellElement;  
            cell.DrawBorder = true;  
            e.CellElement.BorderTopWidth = 1;  
            e.CellElement.BorderTopColor = Color.LightGray;  
        } 
But in this way the last column has black borders.
http://img408.imageshack.us/img408/5127/telerik.png

May be I did anything wrong? How can I enable borders for rows in easy way?

2. I'm using my grid with enabled EnableHotTracking property.
How can I disable animation for HotTracking?
How can I disable animation for grid?

Best regards,
Dan Pristupov

11 Answers, 1 is accepted

Sort by
0
Georgi
Telerik team
answered on 22 Apr 2009, 08:34 AM
Hi Danil,

Thank you for contacting us.

Regarding your questions:

1. The row itself places its border on top of the cells and that's why you do not actually see cells borders except for the rounded corners of the last one. To force the row not to draw its border you may do the following:

void _gridView_RowFormatting(object sender, Telerik.WinControls.UI.RowFormattingEventArgs e)  
{  
    e.RowElement.DrawBorder = false;  
}

or

void _gridView_RowFormatting(object sender, Telerik.WinControls.UI.RowFormattingEventArgs e)  
{  
    e.RowElement.DrawBorderOnTop = false;  

2. In order to specify custom animations behavior you need to create your own themes without animations. For more information about theming and Visual Style Builder please refer to the link to our online documentation:

http://www.telerik.com/help/winforms/vsb_overview.html

Please, do not hesitate to contact us if you experience any other problems.

Kind Regards,
Georgi
Telerik WinForms Team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
0
Danil
Top achievements
Rank 1
answered on 24 Apr 2009, 11:42 AM
Hello. Thank you for answer.

1. I'm sorry, but your code got me the same result:
http://img299.imageshack.us/img299/3042/telerikborder1.jpg
Last column has the strange bold border.

I tryed to set e.CellElement.BorderWidth property to 0.
        private void _gridView_CellFormatting(object sender, CellFormattingEventArgs e)  
        {  
            GridDataCellElement cell = e.CellElement as GridDataCellElement;  
 
            if (cell != null)  
            {  
                cell.DrawBorder = true;  
                e.CellElement.BorderColor = Color.Red;  
                e.CellElement.BorderWidth = 0; // <--  
 
                e.CellElement.BorderTopColor = Color.FromArgb(230, 230, 230);  
                e.CellElement.BorderTopWidth = 1;  
                e.CellElement.BorderRightWidth = 1;  
                e.CellElement.BorderRightColor = Color.FromArgb(220, 220, 220);  
            } 
In this way my griid looks like on screenshot below:
http://img402.imageshack.us/img402/9937/telerikborder2.jpg

But I don't want erase border for last column. I want only the same column as another columns.

2. I really cannot disable animation for row. I edited "GridDetailViewRowElement":
http://img10.imageshack.us/img10/1980/teleriktheme.jpg
I removed all animations for this element.
(there aren't animate properties)
http://img11.imageshack.us/img11/2374/teleriktheme2.jpg
But animation stay enabled.

I tryed to remove ALL animate properties for ALL elements.
Animations stay enabled!

What should I do to disable this feature?

Can you send me sample theme without animation?

3. How can I apply theme to my grid programmically?

Sincerely, Danil Pristupov.
0
Danil
Top achievements
Rank 1
answered on 24 Apr 2009, 12:02 PM
I not sure where I should send this information. If I failed with place, please forward this message.

If I write in filter text box value with special symbols, this can raise crash.
Result for query "0*9":
Code:1  EXCEPTION: System.Data.EvaluateException: Error in Like operator: the string pattern '%0*9%' is invalid.  
   at System.Data.LikeNode.AnalyzePattern(String pat)  
   at System.Data.LikeNode.Eval(DataRow row, DataRowVersion version)  
   at System.Data.UnaryNode.Eval(DataRow row, DataRowVersion version)  
   at System.Data.UnaryNode.Eval(DataRow row, DataRowVersion version)  
   at System.Data.DataExpression.Invoke(DataRow row, DataRowVersion version)  
   at System.Data.Index.AcceptRecord(Int32 record, IFilter filter)  
   at System.Data.Index.InitRecords(IFilter filter)  
   at System.Data.Index..ctor(DataTable table, Int32[] ndexDesc, IndexField[] indexFields, Comparison`1 comparison, DataViewRowState recordStates, IFilter rowFilter)  
   at System.Data.DataTable.GetIndex(IndexField[] indexDesc, DataViewRowState recordStates, IFilter rowFilter)  
   at System.Data.DataView.UpdateIndex(Boolean force, Boolean fireEvent)  
   at System.Data.DataView.UpdateIndex(Boolean force)  
   at System.Data.DataView.SetIndex2(String newSort, DataViewRowState newRowStates, IFilter newRowFilter, Boolean fireEvent)  
   at System.Data.DataView.SetIndex(String newSort, DataViewRowState newRowStates, IFilter newRowFilter)  
   at System.Data.DataView.set_RowFilter(String value)  
   at Telerik.WinControls.Data.DataAccessComponent.Telerik.WinControls.Data.ExpressionHelper.IExpressionChangeNotificationConsumer.FilterExpressionChanged()  
   at Telerik.WinControls.Data.ExpressionHelper.FilterExpressionsChanged(Object sender, NotifyCollectionChangedEventArgs e)  
   at Telerik.WinControls.Data.ExpressionFieldCollection`1.NotifyListenersCollectionChanged(NotifyCollectionChangedEventArgs e)  
   at Telerik.WinControls.Data.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)  
   at Telerik.WinControls.Data.ItemObservableCollection`1.OnItemPropertyChanged(Object sender, EventArgs e)  
   at Telerik.WinControls.Data.NotifyPropertyBase.SignalPropertyChanged()  
   at Telerik.WinControls.Data.NotifyPropertyBase.OnPropertyChanged(PropertyChangedEventArgs e)  
   at Telerik.WinControls.Data.FilterExpression.OnPropertyChanged(PropertyChangedEventArgs e)  
   at Telerik.WinControls.Data.FilterExpression.Parameters_CollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)  
   at Telerik.WinControls.Data.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)  
   at Telerik.WinControls.Data.ObservableCollection`1.NotifyListenersCollectionChanged(NotifyCollectionChangedEventArgs e)  
   at Telerik.WinControls.Data.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)  
   at Telerik.WinControls.Data.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedAction action, Object item, Int32 index)  
   at Telerik.WinControls.Data.FilterParameterDictionary.ItemPropertyChanged(Object sender, PropertyChangedEventArgs e)  
   at Telerik.WinControls.Data.NotifyPropertyBase.SignalPropertyChanged()  
   at Telerik.WinControls.Data.NotifyPropertyBase.OnPropertyChanged(PropertyChangedEventArgs e)  
   at Telerik.WinControls.Data.NotifyPropertyBase.SetProperty[T](String propertyName, T& propertyField, T value)  
   at Telerik.WinControls.Data.ParameterValuePair.set_Value(Object value)  
   at Telerik.WinControls.Data.FilterParameterDictionary.set_Item(String key, Object value)  
   at Telerik.WinControls.UI.GridFilterCellElement.SetFilterValue(Object value)  
   at Telerik.WinControls.UI.RadGridView 
 
I think you should add to your code something like this:
            result = result.Replace("*""[*]");  
            ... another special symbols 
0
Danil
Top achievements
Rank 1
answered on 24 Apr 2009, 12:34 PM
One more question :).

How can i customize filter menu ("equals to", "between" etc)?

Hoping for your answer.
Best regards, Danil Pristupov
0
gerbrand
Top achievements
Rank 2
answered on 24 Apr 2009, 12:52 PM
Hello,

"How can i customize filter menu ("equals to", "between" etc)?" -> Do you mean context menu?

if so, you can find some information here in the knowledge base.



0
Danil
Top achievements
Rank 1
answered on 24 Apr 2009, 01:23 PM
Hi GetBrand. Thank you for your help.
I spoke about this context menu:
http://img246.imageshack.us/img246/5455/telerikfiltermenu.jpg

I read this tutorial. But filter context menu doesn't fire ContextMenuOpening event.

Danil Pristupov
0
Accepted
Nikolay
Telerik team
answered on 30 Apr 2009, 01:39 PM
Hello Danil,

Thank you for getting back to us.

Please find the answers to your questions below:

  • Regarding the borders of the cells, I noticed that you have already read the answer in the support ticket.
  • As to the RadGridView without animations, you should turn off the animations of the properties of all state tabs. I am attaching a sample theme with no animations.
  • In order to apply a theme to a control, you should first load it in your application. Then, you can simply set the ThemeName property of the RadGridView: this.radGridView1.ThemeName = "CustomTheme";
  • I was able to reproduce the issue regarding the filtering and special symbols. I am updating your Telerik points for the report.
  • As to the context menu of the filtering, as you have read in the support ticket, currently, you can localize the menu items' text by a localization provider. However, the ContextMenuOpening event is not fired for it and you do not have a direct access to the items. We will address this feature in one of our next releases..

I hope this helps. If you have additional questions, feel free to contact me.

All the best,
Nikolay
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
0
Michael
Top achievements
Rank 1
answered on 05 Jun 2013, 02:26 PM
We are using Telerik 2010.1.10.504 with no option to upgrade to another version.

Our users are encountering an error mentioned in this thread and I can not find any other reference on the website to indicate this was ever addressed, if there is a workaround, or what exactly can be done, if anything.

We too are getting a crash in the Telerik controls when a user uses the gridview filter box. The column is an integer, but, if for some reason the user 'fat fingers' data entry, it can crash. Please see the attached image.

Essentially, it states:

Error in Like operator: the string pattern '%9*(%' is invalid.
at System.Data.LikeNode.AnalyzePattern(String pat)
.....
etc.

I'm looking for a workaround to prevent our application from crashing.

thanks in advance,

mike
0
Stefan
Telerik team
answered on 10 Jun 2013, 05:47 PM
Hello Mike,

I have checked and I can confirm that the issue appears with version 2010.1.504. Unfortunately, there is no workaround for it that we can offer. 

The handling of special characters in the filtering functionality is resolved in the very next release (2010.2.10.713) and the issue no longer appears there.

I hope that you find this information useful.
 

Regards,
Stefan
Telerik
RadChart for WinForms is obsolete. Now what?
0
Michael
Top achievements
Rank 1
answered on 10 Jun 2013, 07:10 PM
thanks for the reply! luckily this type of error is not very frequent so it should be able to avoid.

i do have a quick question, is the next version 2010.2.10.713 a painless upgrade? i might be able to sell it to management if it does not require a bunch of refactoring due to library changes.

thanks!
0
Stefan
Telerik team
answered on 13 Jun 2013, 11:07 AM
Hello Michael,

In Q2 2010, we have released a completely refactored version of RadGridView with a lot of breaking changes in order to satisfy the demand of features from our users. Thus I can't say that this upgrade would be painless, however, it all depends on what you have used from the previous version of RadGridView. Full list of the changes introduced in Q2 2010, can be found here: http://www.telerik.com/products/winforms/whats-new/release-history/q2-2010-version-2010-2-10-713.aspx.

I hope this helps.

Regards,
Stefan
Telerik
RadChart for WinForms is obsolete. Now what?
Tags
GridView
Asked by
Danil
Top achievements
Rank 1
Answers by
Georgi
Telerik team
Danil
Top achievements
Rank 1
gerbrand
Top achievements
Rank 2
Nikolay
Telerik team
Michael
Top achievements
Rank 1
Stefan
Telerik team
Share this question
or