Telerik Forums
UI for WinForms Forum
1 answer
137 views

Hello!

My company is using RadGridView for an application where users can view and organize/edit SQL data. The grid is set to allow paging and up to 50 rows per page. Because of the size of some of the tables our users work with, the pages can number in the hundreds, which raises an issue when using the grid's built-in sorting capabilities. 

By default, the grid seems to sort all the data in the table as opposed to just the visible rows on screen. This results in a portion of data being displaying that is completely different from what is supposed to be on that page. What I'm looking to do is to have the grid sort only the child rows visible on the page.

I assume going the custom sort rout is necessary here? I've tried a bunch of different approaches to varying degrees of success, but nothing's gotten me quite there. The grid is data bound, which working around has been maybe the biggest hurdle for me so far. Ideally I'd like to be able to reorganize the rows on screen without having to rebind the grid, though I'm not sure how feasible that it. Regardless, any help is appreciated!

Best,

Rich

Dess | Tech Support Engineer, Principal
Telerik team
 answered on 02 Mar 2023
1 answer
104 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
97 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
203 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
358 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
125 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
100 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
315 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
142 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
220 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
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)
Chart (obsolete as of Q1 2013)
Form
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
Diagram, DiagramRibbonBar, DiagramToolBox
GanttView
Panorama
New Product Suggestions
Toolstrip (obsolete as of Q3 2010)
VirtualGrid
AutoCompleteBox
Label
Spreadsheet
ContextMenu
Panel
Visual Studio Extensions
TitleBar
Documentation
SplitContainer
Map
DesktopAlert
ProgressBar
CheckedDropDownList
TrackBar
MessageBox
Rotator
SpinEditor
StatusStrip
CheckedListBox
LayoutControl
SyntaxEditor
Wizard
ShapedForm
TextBoxControl
Conversational UI, Chat
DateTimePicker
CollapsiblePanel
TabbedForm
CAB Enabling Kit
GroupBox
DataEntry
ScrollablePanel
ScrollBar
WaitingBar
ImageEditor
Tools - VSB, Control Spy, Shape Editor
BrowseEditor
DataFilter
ColorDialog
FileDialogs
Gauges (RadialGauge, LinearGauge, BulletGraph)
ApplicationMenu
RangeSelector
CardView
WebCam
BindingNavigator
PopupEditor
RibbonForm
Styling
TaskBoard
Barcode
Callout
ColorBox
PictureBox
FilterView
Accessibility
VirtualKeyboard
NavigationView
DataLayout
ToastNotificationManager
ValidationProvider
CalculatorDropDown
Localization
TimePicker
ButtonTextBox
FontDropDownList
Licensing
BarcodeView
BreadCrumb
Security
LocalizationProvider
Dictionary
Overlay
Flyout
Separator
SparkLine
TreeMap
StepProgressBar
SplashScreen
ToolbarForm
NotifyIcon
DateOnlyPicker
Rating
TimeSpanPicker
Calculator
OfficeNavigationBar
TaskbarButton
HeatMap
SlideView
PipsPager
AIPrompt
TaskDialog
TimeOnlyPicker
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?