Telerik Forums
UI for WinForms Forum
1 answer
125 views

Hello!

I am currently using RadGridView for a project my company has me working on. We want to be able to prevent users from setting CellForeColor and CellBackColor to the same values (as seen in the image below). I've tried implementing a check on a variety of different elements to try and catch this case if it happens, but so far I've not had much luck. I guess more than anything I'm wondering which element I should be focusing on in order to catch this when it happens? I've scoured these forums and the rest of the internet and I haven't seen anything similar being asked. Any help is greatly appreciated, even if it's just a point in the right direction!

Best,

Rich

Dinko | Tech Support Engineer
Telerik team
 answered on 01 Mar 2023
1 answer
126 views

I am using Telerik UI for Winforms version 2022.1.118.40

I am trying to bind a treeview to a list of object-related data, but only the root nodes are displayed.

My object-related data looks like this:

public class MyRootObject
{
    public string Name {get; set;}
    public List<MyChildObject> ChildObjects {get; set;}
}

public class MyChildObject
{
    public string Name {get; set;}
}

My treeview is set up like this:

var myRootObjects = new List<MyRootObject>()
{
   new MyRootObject()
   {
      Name = "RootName",
      ChildObjects = new List<MyChildObject>()
      {
         Name = "ChildName"
      }
   }
}

MyTreeView.DataSource = myRootObjects;
MyTreeView.ChildMember = "ChildObjects";

 

I have tried different ways of setting the 'ChildMember' property, as per documentation ( https://docs.telerik.com/devtools/winforms/controls/treeview/data-binding/binding-to-object-relational-data ), such as 'myrootObjects\\ChildObjects', but I can not get the child objects to be displayed.

How do I get the child objects to be displayed?

Dinko | Tech Support Engineer
Telerik team
 answered on 01 Mar 2023
3 answers
235 views

I have a grid whose datasource is a list of DocumentGroup objects, each of which has a property "Others" of type IEnumerable<Document>.

I wrote the following:

        GridViewTemplate childTemplate = new GridViewTemplate();
        grdDocuments.Templates.Add(childTemplate);
        childTemplate.Columns.Add(new GridViewTextBoxColumn(nameof(Document.Docname)));
        childTemplate.Columns.Add(new GridViewTextBoxColumn(nameof(Document.Filepath)));
        GridViewRelation relation = new GridViewRelation(grdDocuments.MasterTemplate, childTemplate);
        relation.ChildColumnNames.Add(nameof(CompanyTb.DocumentGroup.Others));
        childTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
        grdDocuments.Relations.Add(relation);
        
        grdDocuments.Fill(Data.DocumentGroups);

(I'm not showing the whole setup of grdDocuments.)

This basically works, in that it shows a row for each DocumentGroup with the data in their columns, plus an icon to the left of each allowing the user to open the associated sub-grid of Documents.  Clicking on that icon gives me the correct number of rows under each DocumentGroup and each row has two columns (one for the Docname property and one for the Filepath property).

The only problem is that all the cells in all the Document rows are empty, even though there's data in the objects behind them.

What am I missing?

Dess | Tech Support Engineer, Principal
Telerik team
 answered on 28 Feb 2023
2 answers
433 views

Hi,

I have an issue with the following simple code where I drag a label over a GridView header. The DragDrop codes works fine.

I recently added the following ligne

            SetLabelBorder(sourceLabel, true);

In the DynamicLabel_MouseDown event handler starting the DragDrop along with the DynamicLabel_MouseUp event handler.

The labelBorder is normally setup in the MouseDown event, but even if I simply click on the label and release it, the MouseUp event is not called and the border cannot be suppressed.

Here is the related code:


RadLabel? PreviousLabelWithBorderSet = null; private void DynamicLabel_MouseDown(object? sender, MouseEventArgs e) { sourceLabel = sender as RadLabel; if (sourceLabel != null) { if (e.Button != MouseButtons.Left) return; isCurrentlyDragging = true; objCurrentlyDragged = DragObject.Label; SetLabelBorder(sourceLabel, true); gvCsvData.DragDrop += gvCsvData_DragDrop; if (sourceLabel != null) DoDragDrop(sourceLabel.Text, DragDropEffects.Copy); } } private void DynamicLabel_MouseUp(object? sender, MouseEventArgs e) { sourceLabel = sender as RadLabel; if (sourceLabel != null) { if (e.Button != MouseButtons.Left) return; if (sourceLabel != null) SetLabelBorder(sourceLabel, false); } } private void SetLabelBorder(RadLabel labelBorder, bool setBorder) {

// Temporary : At least suppress previous label border if new one is selected !! if (PreviousLabelWithBorderSet != null) { PreviousLabelWithBorderSet.LabelElement.BorderVisible = false; PreviousLabelWithBorderSet = null; } if (setBorder) { labelBorder.LabelElement.BorderVisible = true; PreviousLabelWithBorderSet = labelBorder; } else { labelBorder.LabelElement.BorderVisible = false; } }

 

What am I doing wrong ?

Thanks

Patrick

 

Dess | Tech Support Engineer, Principal
Telerik team
 updated answer on 28 Feb 2023
0 answers
192 views

I get this message when starting Visual Studio.

message: Visual Studio stopped responding for x seconds (x s anywhere from 6 to 20).

Disabling the extension Progress Telerik UI for WinForms Extension 2023.1.113.1 might help.

 

Microsoft Visual Studio Enterprise 2022 (64-bit) - Preview Version 17.6.0 Preview 1.0

and previous versions also.

Also previous versions of UI for WinForms.

 

It does not matter if I am working on a WinForms project or not.

 

Works find after that.

 

-George

 

 

 

 

George
Top achievements
Rank 1
 asked on 27 Feb 2023
1 answer
122 views

To further explain, the behavior happens when adding a new row, via button event, to the gridview (with AddNewBoundRowBeforeEdit enabled and AllowAddNewRow disbaled). The new row is pinned to the top, with editing enabled. When copying row data from one row to this new row, pasting the row data only works if the grid view is on the last page. Pasting Individual cells do not have this problem and any cell is enabled for edit while viewing any page of the grid view.

So I'm left wondering why is this even an issue in the first place. Not even automatically pasting valid row data, via button event that adds the new row, works.

Is there a setting available somewhere that can override this behavior? Or explanation as to why this is the case?

Let me know if more information is needed.

Edit:

I've put together a small app using a pre-existing demo provided by Telerik. Note that due to some other behavior, pasting into the new row on last page removes said row from view.  Ignore that behavior.

Dess | Tech Support Engineer, Principal
Telerik team
 answered on 27 Feb 2023
1 answer
377 views

Hi,

first sorry for the general tag selected as I didn't find any specificone  about Document Processing.

I am creating a simple document mostly made up of tables  using the following code where neither the row.height, nor the VerticalAlignment are working (see attached screenshot).

I  would like much narrower cells and the text vertically centered.

How to achieve this ?

thanks

Patrick

 

RadFlowDocument document = new RadFlowDocument();
RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document);

Section section = new Telerik.Windows.Documents.Flow.Model.Section(document);
document.Sections.Add(section);

section.PageMargins = new Telerik.Windows.Documents.Primitives.Padding(40, 10, 40, 10);
section.PageSize = PaperTypeConverter.ToSize(PaperTypes.A4);

Table FactTable = section.Blocks.AddTable();

        for (int i = 0; i < datas.GetLength(0); i++)
        {
            TableRow row = new TableRow(document);
            row.Height = new TableRowHeight(HeightType.Exact, 14);
            PiedFactTable.Rows.Add(row);
            {
                TableCell cell = row.Cells.AddTableCell();
                cell.VerticalAlignment = VerticalAlignment.Center;
                Run run= cell.Blocks.AddParagraph().Inlines.AddRun(datas[i]);
            }
        }

Dimitar
Telerik team
 answered on 24 Feb 2023
1 answer
176 views

Hello,

I have followed the tutorials and I was able to add a CustomCell made of a RadColorBox, this is working perfectly fine as long as the number of columns in the ListBox does not cause the horizontal scroll bar to appear. When this happens, and the user scrolls to show the other columns, the RadColorBox disappears initially and, by debugging what's happening, I see that it's "changing" the cell looping between all the columns in the rows.

This is the starting state

This is what happens when I scroll right untill the first column goes out of view then back in starting position

This is what happens if i keep scrolling left and right, the ColorBox is in the last column

If I keep scrolling left and right

Please note that this "scrolling" ColorBox is possible only because I have commented a line in the custom control

        public override bool IsCompatible(ListViewDetailColumn data, object context)
        {
            //if (data.Name != "Colore")
            //{
            //    return false;
            //}
            return base.IsCompatible(data, context);
        }

If I uncomment the name check, the ColorBox disappears until I have scrolled left and right enough times to allow it to go back to the first column, by debugging the data.Name value I see that it's "moving" from one column to another

This is the Creating event and I am adding the custom cell only if the cell is "Colore", exactly like in the examples, can anyone help me fix this strange behaviour?

        private void listEventi_CellCreating(object sender, Telerik.WinControls.UI.ListViewCellElementCreatingEventArgs e)
        {
            DetailListViewDataCellElement cell = e.CellElement as DetailListViewDataCellElement;
            if (cell != null && cell.Data.Name == "Colore")
            {
                var newCell = new CustomDetailListViewDataCellElement(cell.RowElement, e.CellElement.Data);
                newCell.FormParent = this;
                e.CellElement = newCell;
            }
        }

Thank you in advance for any suggestion

Dinko | Tech Support Engineer
Telerik team
 answered on 23 Feb 2023
3 answers
289 views

I have a Pivot Grid, that has a data set that has two fields, In those fields, it's possible that records in that collection could have empty string value. And if I set one field to be my column group and the other to be my row group and one of those fields as my aggregate count field, everything looks fine, and as expected.   

However, as soon as I filter the ROW GROUP other than the EMPTY value, it drops the COLUMN groups "EMPTY" string column, as well, as if I filter the COLUMN GROUP on a non-empty value, it removes the ROW GROUP's empty string row.  I am not sure if this is by design or what but, this is causing an issue for our customers as they cannot figure out why their numbers in this pivot grid are not the same in other reports (non-pivot).  NOTE, if I filter in either the GROUP or COLUMN fields for the "EMPTY" string value, all the EMPTY string values still show in the COLUMN/ROW groups.  

As a solution to this problem, I made sure that these "EMPTY" string fields has at least one empty space in them... Attached is my sample project.  Once you run the form, just filter either the ROW or COLUMN group on anything other than the EMPTY string value.

 

Thanks

Dinko | Tech Support Engineer
Telerik team
 answered on 22 Feb 2023
1 answer
264 views

I think there is a little bug in column header with gridview when sorting a grouped column and ShowGroupedColumns = true.

Changing sorting direction only works first time, then you need to click on  grouped tag to change sorting direction. See attached gif 

Example

I have attached the example project used in the gif to test this.

Dinko | Tech Support Engineer
Telerik team
 answered on 20 Feb 2023
Narrow your results
Selected tags
Tags
GridView
General Discussions
Scheduler and Reminder
Treeview
Dock
RibbonBar
Themes and Visual Style Builder
ChartView
Calendar, DateTimePicker, TimePicker and Clock
DropDownList
Buttons, RadioButton, CheckBox, etc
ListView
ComboBox and ListBox (obsolete as of Q2 2010)
Form
Chart (obsolete as of Q1 2013)
PageView
MultiColumn ComboBox
TextBox
RichTextEditor
PropertyGrid
Menu
RichTextBox (obsolete as of Q3 2014 SP1)
Panelbar (obsolete as of Q2 2010)
PivotGrid and PivotFieldList
Tabstrip (obsolete as of Q2 2010)
MaskedEditBox
CommandBar
PdfViewer and PdfViewerNavigator
ListControl
Carousel
GanttView
Diagram, DiagramRibbonBar, DiagramToolBox
Panorama
New Product Suggestions
VirtualGrid
Toolstrip (obsolete as of Q3 2010)
AutoCompleteBox
Label
Spreadsheet
ContextMenu
Panel
Visual Studio Extensions
TitleBar
Documentation
SplitContainer
Map
DesktopAlert
CheckedDropDownList
ProgressBar
MessageBox
TrackBar
Rotator
SpinEditor
CheckedListBox
StatusStrip
LayoutControl
ShapedForm
SyntaxEditor
Wizard
TextBoxControl
CollapsiblePanel
Conversational UI, Chat
DateTimePicker
TabbedForm
CAB Enabling Kit
GroupBox
WaitingBar
DataEntry
ScrollablePanel
ScrollBar
ImageEditor
Tools - VSB, Control Spy, Shape Editor
BrowseEditor
DataFilter
FileDialogs
ColorDialog
Gauges (RadialGauge, LinearGauge, BulletGraph)
ApplicationMenu
RangeSelector
CardView
WebCam
BindingNavigator
Styling
Barcode
PopupEditor
RibbonForm
TaskBoard
Callout
NavigationView
ColorBox
PictureBox
FilterView
Accessibility
VirtualKeyboard
DataLayout
Licensing
ToastNotificationManager
ValidationProvider
CalculatorDropDown
Localization
TimePicker
BreadCrumb
ButtonTextBox
FontDropDownList
BarcodeView
Security
LocalizationProvider
Dictionary
SplashScreen
Overlay
Flyout
Separator
SparkLine
TreeMap
StepProgressBar
ToolbarForm
NotifyIcon
DateOnlyPicker
AI Coding Assistant
Rating
TimeSpanPicker
Calculator
OfficeNavigationBar
TaskbarButton
HeatMap
SlideView
PipsPager
AIPrompt
TaskDialog
TimeOnlyPicker
+? more
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?