Telerik Forums
UI for WinForms Forum
1 answer
159 views

We are using Winforms Q3 2011.  In our application, many of our dropdown lists are populated from lookup tables, so we have a generic method that maps to a lookup type, and we set the datasource to that:

Dim MyList as List(of AC.Lookup) = '... EF code
ddl.DataSource = MyList

Many of the lists are not required fields, so the proper default is to have nothing selected.  When this is the case, however, the dropdown lists will have "AC.Lookup" displayed (where AC is the namespace for this EDMX file).  After investigating, what appears to be happening is that the datasource doesn't quite know what to do with an empty list, so somehow it is calling the ToString.

This is confusing to the users. :-)  I first looked for a "default text" or some other such property on the dropdown list, and when I couldn't find that, I tried to do various hacks, mainly around setting the text to nothing after some event (DataBinding, TextChanged, whatever).  That method failed, too.  What I ended up doing was creating a partial class tied to the Lookup class (the original Lookup class is generated from the designer, so I didn't want to change it), overriding ToString to return String.Empty.  That worked and solved our problem, but it still seems very hackish.

Do you have a better, more elegant solution?

Thanks!

Ivan Todorov
Telerik team
 answered on 16 Mar 2012
1 answer
144 views
Hi All,

a have this procedure :

foreach (GridViewDataColumn dataColumn in radGridBatches.Columns)
 {               
      dataColumn.TextAlignment = ContentAlignment.BottomRight;
      dataColumn.FormatString = "{0:F2}";
}





but the number in Grid are 600
                                           592.35
                                          600
                                           etc...
need somebody help ?

lot thanks Alda

PROBLEM SOLVED, DOUBLE CONVERTED TO DECIMAL
Ivan Petrov
Telerik team
 answered on 16 Mar 2012
2 answers
92 views
I am new to Telerik controls and am working my way through the documentation as writing a project with the controls.

Our Dock panel will start empty and new tabbed documents and tool windows will be added in code (docking user controls). If a new tool window is added i need to dock it to the left. But, if a tool window already exists docked to the left then I need the new window to become a tab, rather than docking between that and the main window.

Imagine I have 3 user controls A, B, C, multiple sopies of which may be instantiated as a tool window. Each time an addition one is instantiated, i need to to add itself to the tabs. but, of course, if it is the first then it needs to simply dock left.

If anybody can help with this, that would be great!

Thank you in advance
Tony
Tony
Top achievements
Rank 1
 answered on 16 Mar 2012
2 answers
119 views
Hello, it's me again!

I will be adding tabbed documents and tool windows in code and of course it's straight forward to set those into default locations. However, if the user moves this tool window then closes it (fully disposed), later to open it again, i'd like it to open in the location it was last placed. Is this possible or will I need to save some settings to recall ?

thanks in advance
Tony
Tony
Top achievements
Rank 1
 answered on 16 Mar 2012
1 answer
150 views
Hi 
i have gridview with a combox column.
My problem is i want to show combobox when the form is loaded.rather empty cell in the whole column of grid.and it gets the shape of 
combo when i double clik on it.
2nd issue is comboxbox got selected on double click.First click enables it and i have to make a 2nd click to drop the list.
I want to show the combobox droped on first click.

Help appreciated.
thnks
Stefan
Telerik team
 answered on 16 Mar 2012
2 answers
173 views
I have a collection of custom visual items contained in a RadListView.  These visual items consist of several RadTextBoxElements and a RadDropDownListElement.  If a new item is added to the RadListView, say the drop down list item selected is different than the one above it, then the user scrolls up, the selected item of the drop down list for the next to last item becomes the selected item of the new item's drop down.  Doing this again propagates it up the visual items.

I have debugged all code and determined that there are some inconsistencies in scrolling that seem to be making this happen.  I can get around it if the scrollbar does not start at the bottom by setting focus to the first textbox in the visual item.  This scrolls to the bottom and then I cannot reproduce.  

What is happening here?  Any ideas?

Below are my overridden CreateChileElements and SynchronizeProperties methods:

base.CreateChildElements();
 
//Setup the name label and field in a stack panel layout
this.nameStackPanelElement = new StackLayoutElement();
this.nameStackPanelElement.Orientation = Orientation.Horizontal;
this.nameStackPanelElement.ElementSpacing = 17;
this.nameStackPanelElement.StretchHorizontally = true;
this.nameLabelElement = new RadLabelElement();
this.nameLabelElement.Text = "Name";
this.nameLabelElement.AutoSize = true;
this.nameLabelElement.StretchHorizontally = false;
this.nameTextBoxElement = new RadTextBoxElement();
this.nameTextBoxElement.StretchHorizontally = true;
this.nameTextBoxElement.MinSize = new Size(120, 0);
this.nameTextBoxElement.TextBoxItem.MaxLength = 100;
this.nameTextBoxElement.TextBoxItem.LostFocus += new EventHandler(NameTextBoxItem_LostFocus);
this.nameTextBoxElement.TextChanged += new EventHandler(ImportantField_TextChanged);
this.nameStackPanelElement.Children.Add(this.nameLabelElement);
this.nameStackPanelElement.Children.Add(this.nameTextBoxElement);
 
//Setup the script label and field in a stack panel layout
this.scriptStackPanelElement = new StackLayoutElement();
this.scriptStackPanelElement.Orientation = Orientation.Horizontal;
this.scriptStackPanelElement.ElementSpacing = 18;
this.scriptStackPanelElement.StretchHorizontally = true;
this.scriptLabelElement = new RadLabelElement();
this.scriptLabelElement.Text = "Script";
this.scriptLabelElement.AutoSize = true;
this.scriptLabelElement.StretchHorizontally = false;
this.scriptTextBoxElement = new RadTextBoxElement();
this.scriptTextBoxElement.StretchHorizontally = true;
this.scriptTextBoxElement.MinSize = new Size(120, 0);
this.scriptTextBoxElement.TextBoxItem.MaxLength = 30;
this.scriptTextBoxElement.TextBoxItem.LostFocus += new EventHandler(ScriptTextBoxItem_LostFocus);
this.scriptTextBoxElement.TextChanged += new EventHandler(ImportantField_TextChanged);
this.scriptStackPanelElement.Children.Add(this.scriptLabelElement);
this.scriptStackPanelElement.Children.Add(this.scriptTextBoxElement);
 
//Setup the modifier label and drop down list in a stack panel layout
this.modifierStackPanelElement = new StackLayoutElement();
this.modifierStackPanelElement.Orientation = Orientation.Horizontal;
this.modifierStackPanelElement.ElementSpacing = 4;
this.modifierStackPanelElement.StretchHorizontally = true;
this.modifierLabelElement = new RadLabelElement();
this.modifierLabelElement.Text = "Modifier";
this.modifierLabelElement.AutoSize = true;
this.modifierLabelElement.StretchHorizontally = false;
this.modifierDropDownListElement = new RadDropDownListElement();
this.modifierDropDownListElement.StretchHorizontally = true;
this.modifierDropDownListElement.MinSize = new Size(60, 0);
this.modifierDropDownListElement.DropDownStyle = RadDropDownStyle.DropDownList;
this.modifierDropDownListElement.SelectedIndexChanged +=
    new Telerik.WinControls.UI.Data.PositionChangedEventHandler(modifierDropDownListElement_SelectedIndexChanged);
this.modifierStackPanelElement.Children.Add(this.modifierLabelElement);
this.modifierStackPanelElement.Children.Add(this.modifierDropDownListElement);
 
//Fill the modifier drop down list and select the zeroth element
foreach (ModKeys mod in Enum.GetValues(typeof(ModKeys)))
{
    this.modifierDropDownListElement.Items.Add(mod.ToString());
}
 
//Setup the key label and field in a stack panel layout
this.keyStackPanelElement = new StackLayoutElement();
this.keyStackPanelElement.Orientation = Orientation.Horizontal;
this.keyStackPanelElement.ElementSpacing = 4;
this.keyLabelElement = new RadLabelElement();
this.keyLabelElement.Text = "Key";
this.keyLabelElement.AutoSize = true;
this.keyLabelElement.StretchHorizontally = false;
this.keyTextBoxElement = new RadTextBoxElement();
this.keyTextBoxElement.StretchHorizontally = true;
this.keyTextBoxElement.MinSize = new Size(34, 0);
this.keyTextBoxElement.TextBoxItem.MaxLength = 1;
this.keyTextBoxElement.TextBoxItem.LostFocus += new EventHandler(KeyTextBoxItem_LostFocus);
this.keyTextBoxElement.TextChanged += new EventHandler(ImportantField_TextChanged);
this.keyStackPanelElement.Children.Add(this.keyLabelElement);
this.keyStackPanelElement.Children.Add(this.keyTextBoxElement);
 
//Combine the key and modifier panels into one stack panel layout
this.modifierKeyStackPanelElement = new StackLayoutElement();
this.modifierKeyStackPanelElement.Orientation = Orientation.Horizontal;
this.modifierKeyStackPanelElement.ElementSpacing = 4;
this.modifierKeyStackPanelElement.StretchHorizontally = true;
this.modifierKeyStackPanelElement.Children.Add(this.modifierStackPanelElement);
this.modifierKeyStackPanelElement.Children.Add(this.keyStackPanelElement);
 
//Setup the save and cancel buttons in a stack panel layout
this.newButtonsStackPanelElement = new StackLayoutElement();
this.newButtonsStackPanelElement.Orientation = Orientation.Horizontal;
this.newButtonsStackPanelElement.ElementSpacing = 4;
this.newButtonsStackPanelElement.StretchHorizontally = true;
Padding newButtonsStackMargin = this.newButtonsStackPanelElement.Margin;
this.newButtonsStackPanelElement.Margin = new Padding(52, newButtonsStackMargin.Top,
    -12, newButtonsStackMargin.Bottom);
this.saveButtonElement = new RadButtonElement("Save");
this.saveButtonElement.Enabled = false;
this.saveButtonElement.Click += new EventHandler(saveButtonElement_Click);
this.cancelButtonElement = new RadButtonElement("Cancel");
this.cancelButtonElement.Click += new EventHandler(deleteCancelButtonElement_Click);
this.newButtonsStackPanelElement.Children.Add(this.saveButtonElement);
this.newButtonsStackPanelElement.Children.Add(this.cancelButtonElement);
 
//Setup the insert and delete buttons in a stack panel layout and set them
//to collapsed initially.
this.existingButtonsStackPanelElement = new StackLayoutElement();
this.existingButtonsStackPanelElement.Orientation = Orientation.Horizontal;
this.existingButtonsStackPanelElement.Visibility = ElementVisibility.Collapsed;
this.existingButtonsStackPanelElement.ElementSpacing = 4;
this.existingButtonsStackPanelElement.StretchHorizontally = true;
Padding existingButtonsStackMargin = this.existingButtonsStackPanelElement.Margin;
this.existingButtonsStackPanelElement.Margin = new Padding(52, existingButtonsStackMargin.Top - 4,
    -12, existingButtonsStackMargin.Bottom + 4);
this.insertButtonElement = new RadButtonElement("Insert");
this.insertButtonElement.Click += new EventHandler(insertButtonElement_Click);
this.deleteButtonElement = new RadButtonElement("Delete");
this.deleteButtonElement.Click += new EventHandler(deleteCancelButtonElement_Click);
this.existingButtonsStackPanelElement.Children.Add(this.insertButtonElement);
this.existingButtonsStackPanelElement.Children.Add(this.deleteButtonElement);
 
//Setup the separator that will separate this item from the one below it
this.itemSeparator = new SeparatorElement();
this.itemSeparator.StretchHorizontally = true;
this.itemSeparator.Line1.BackColor = Color.FromArgb(76, 76, 76);
//Padding separatorMargin = itemSeparator.Margin;
//this.itemSeparator.Margin = new Padding(separatorMargin.Left, separatorMargin.Top + 4, separatorMargin.Right, separatorMargin.Bottom);
 
//Setup the outermost stack panel layout element and add all
//of the other stack panel layout elements as its children.
this.parentStackPanelElement = new StackLayoutElement();
this.parentStackPanelElement.Orientation = Orientation.Vertical;
this.parentStackPanelElement.ElementSpacing = 4;
this.parentStackPanelElement.Margin = new Padding(4);
this.parentStackPanelElement.StretchHorizontally = true;
this.parentStackPanelElement.Children.Add(this.nameStackPanelElement);
this.parentStackPanelElement.Children.Add(this.scriptStackPanelElement);
this.parentStackPanelElement.Children.Add(this.modifierKeyStackPanelElement);
this.parentStackPanelElement.Children.Add(this.newButtonsStackPanelElement);
this.parentStackPanelElement.Children.Add(this.existingButtonsStackPanelElement);
this.parentStackPanelElement.Children.Add(this.itemSeparator);
 
//Finally, add the outermost stack panel layout element to the
//SimpleListViewVisualItem's Children
this.Children.Add(this.parentStackPanelElement);


lock (Program.scriptsLockObject)
            {
                base.SynchronizeProperties();
 
                this.Text = "";
 
                this.Script = this.Data.Value as Script;
 
                if (this.Script != null)
                {
                    if (this.Script.IsNew)
                    {
                        this.newButtonsStackPanelElement.Visibility = ElementVisibility.Visible;
                        this.existingButtonsStackPanelElement.Visibility = ElementVisibility.Collapsed;
 
                        //if (!this.IsElementVisible)
                        //{
 
                        //}
 
                        this.nameTextBoxElement.Focus();
                    }
                    else
                    {
                        this.newButtonsStackPanelElement.Visibility = ElementVisibility.Collapsed;
                        this.existingButtonsStackPanelElement.Visibility = ElementVisibility.Visible;
 
                        this.insertButtonElement.Enabled = !string.IsNullOrWhiteSpace(this.Script.ScriptText);
                    }
 
                    this.nameTextBoxElement.Text = this.Script.Name;
                    this.scriptTextBoxElement.Text = this.Script.ScriptText;
                    this.modifierDropDownListElement.SelectedIndex = (int)this.Script.KeyModifier;
                    this.keyTextBoxElement.Text = this.Script.Key;
                }
            }
Adam
Top achievements
Rank 1
 answered on 16 Mar 2012
2 answers
178 views
Hello,

during the development of a WinForms application for our customer the following problem arose when using multiple summary rows in grid:

1) the attached picture shows existing grid with 2 summary rows. The requirement is that first summary row sums data only from even rows and the second summary row sums data only from odd rows. Is it possible to achieve these "filtered" sums? The grid is bound with custom objects which contain a boolean value which would serve as a basis for addition of data (DataBoundItem).

2) how can custom style be applied to specific summary row when using multiple summary rows (in our scenario the first summary row should be blue and the second one red)?
Tomaz
Top achievements
Rank 1
 answered on 16 Mar 2012
2 answers
193 views
Hi,

Is it possible to configure RadGridView to have different child templates on the same level of hierarchical data rows? Or to have different columns collections for each group?

I want to accomplish something like this:

[Data model]
Class Flat
{
 string name; 
 List<Room> rooms;
}

Class Room
{
 string name;
 bool table;
 bool bath;
 bool desk;
 int walls;
}

[View]

1. Expandable rows with objects  "Flat" (visible columns: Name)
2. Second hierarchy with rooms, but on this level different columns visible for every room type:

If room name is "Bathroom" then columns are: name, bath, walls.
If room name is "Saloon" then columns are: name, table, walls.
etc.

Is it feasible on one grid?

Best Regards
 Krzysztof

Jack
Telerik team
 answered on 16 Mar 2012
4 answers
231 views
Is it possible to format a column using number formats or date formats?

Thanks,

Javier Gonzalez de Aragon
Ivan Todorov
Telerik team
 answered on 16 Mar 2012
3 answers
253 views
I understand you can perform custom sorting using a grid and a tree but how do you do this from within a RadListView?  Basically I have a bound column that contains strings, some are words, some are numbers.  I need to sort them in a "unique" manner.  Can I pass a column a custom sort method or hook a sort event or pass a custom sort descriptor or ???
Ivan Todorov
Telerik team
 answered on 16 Mar 2012
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
GanttView
Diagram, DiagramRibbonBar, DiagramToolBox
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
CheckedListBox
StatusStrip
LayoutControl
SyntaxEditor
Wizard
ShapedForm
TextBoxControl
Conversational UI, Chat
DateTimePicker
CollapsiblePanel
TabbedForm
CAB Enabling Kit
GroupBox
WaitingBar
DataEntry
ScrollablePanel
ScrollBar
ImageEditor
Tools - VSB, Control Spy, Shape Editor
BrowseEditor
DataFilter
ColorDialog
FileDialogs
Gauges (RadialGauge, LinearGauge, BulletGraph)
ApplicationMenu
RangeSelector
CardView
WebCam
Barcode
BindingNavigator
PopupEditor
RibbonForm
Styling
TaskBoard
Callout
ColorBox
PictureBox
FilterView
NavigationView
Accessibility
VirtualKeyboard
DataLayout
ToastNotificationManager
ValidationProvider
CalculatorDropDown
Licensing
Localization
TimePicker
ButtonTextBox
FontDropDownList
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
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?