Approved
Last Updated: 12 Feb 2018 12:09 by ADMIN
Use attached project to reproduce.

Workaround:
foreach (RadPanel item in radDataEntry1.Controls[0].Controls)
{
    var textBox = item.Controls[0] as RadTextBox;
    if (textBox != null)
    {
        textBox.TextBoxElement.MaxSize = new Size(0, 20);
    }
}

or
this.radDataEntry1.ItemDefaultSize = new Size(200, 24);
Approved
Last Updated: 29 Mar 2016 11:56 by ADMIN
To reproduce: the attached gif file illustrates the behavior.

public Form2()
{
    InitializeComponent();

    this.radGridView1.DataSource = this.customersBindingSource;
    this.radGridView1.CellClick += radGridView1_CellClick;
}

private void radGridView1_CellClick(object sender, Telerik.WinControls.UI.GridViewCellEventArgs e)
{
    this.radDataLayout1.DataSource = e.Row.DataBoundItem;
    this.radDataEntry1.DataSource = e.Row.DataBoundItem;
}

private void Form2_Load(object sender, EventArgs e)
{
    // TODO: This line of code loads data into the 'nwindDataSet1.Customers' table. You can move, or remove it, as needed.
    this.customersTableAdapter.Fill(this.nwindDataSet1.Customers);
}

Approved
Last Updated: 29 Mar 2016 11:55 by ADMIN
To reproduce:
- Add RadBindingNavigator, RadDataEntry and RadGridView to a form.
- Bind them to the same BindingSource.
- Add a new row with the binding navigator.
- The data entry still dispalys the previous record. 


Workaround:

radBindingNavigator1.BindingNavigatorElement.AutoHandleAddNew = false;
radBindingNavigator1.BindingNavigatorElement.AddNewButton.Click += AddNewButton_Click;

void AddNewButton_Click(object sender, EventArgs e)
{
    employees.AddNew();
    source.ResetBindings(false);
}
Approved
Last Updated: 29 Mar 2016 11:54 by ADMIN
To reproduce:
class RadDataEntryCustomForm : RadDataEntry
{
    public override string ThemeClassName
    {
        get
        {
            return typeof(RadDataEntry).FullName;
        }

    }
}

Workaround:
class RadDataEntryCustomForm : RadDataEntry
{
    public override string ThemeClassName
    {
        get
        {
            return typeof(RadScrollablePanel).FullName;
        }

    }
}
Approved
Last Updated: 29 Mar 2016 11:54 by ADMIN
Created by: ADH
Comments: 1
Category:
Type: Bug Report
0
Steps to reproduce:

1. Run the enclosed project.
2. Click "Options".
3. Change the theme.

Inconsistent themes are:
 - Telerik Metro Touch - the text fields are not tall enough, and break every other theme's text height.
 - Aqua has an odd background shade for each row.
 - Visual Studio 2012 Dark has an odd background shade too.
 - Same with VS2012 Light.
 - Windows 8 has a subtle background shade difference as well.
Approved
Last Updated: 29 Mar 2016 11:49 by ADMIN
To reproduce: follow the steps introduced in http://www.telerik.com/help/winforms/dataentry-how-to-change-editor-to-drop-down-list.html. However, try to use the RadCheckedDropDownList  instead. Use the following code snippet:

private BindingList<Model> editorDS = new BindingList<Model>();
RadCheckedDropDownList checkedDDL;
BindingSource bs;

public Form1()
{
    InitializeComponent();

    this.radDataEntry1.ItemInitialized += radDataEntry1_ItemInitialized;

    radDataEntry1.EditorInitializing += radDataEntry1_EditorInitializing;
    radDataEntry1.BindingCreating += radDataEntry1_BindingCreating;
    radDataEntry1.BindingCreated += radDataEntry1_BindingCreated;

    for (int i = 0; i < 15; i++)
    {
        editorDS.Add(new Model(i,"Item " + i));
    }

    DataTable dt = new DataTable();
    dt.Columns.Add("Id", typeof(int));
    dt.Columns.Add("Title", typeof(string));
    dt.Columns.Add("Models", typeof(BindingList<Model>));

    BindingList<Model> models;
    for (int i = 0; i < 5; i++)
    {
        models = new BindingList<Model>();
        for (int j = 0; j < 2; j++)
        {
            models.Add(editorDS[i + j]);
        }
        
        dt.Rows.Add(i, "Item" + i, models);
    }

    bs = new BindingSource();
    bs.DataSource = dt;
    this.radBindingNavigator1.BindingSource = bs;
    this.radDataEntry1.DataSource = bs;
}

void radDataEntry1_EditorInitializing(object sender, Telerik.WinControls.UI.EditorInitializingEventArgs e)
{
    if (e.Property.Name == "Models")
    {
        checkedDDL = new RadCheckedDropDownList();
        checkedDDL.DisplayMember = "Name";
        checkedDDL.ValueMember = "Id";
        checkedDDL.DataSource = editorDS;
        checkedDDL.Parent = this;
        checkedDDL.BindingContext = new System.Windows.Forms.BindingContext();
        e.Editor = checkedDDL;
    }
}

void radDataEntry1_BindingCreating(object sender, Telerik.WinControls.UI.BindingCreatingEventArgs e)
{
    if (e.DataMember == "Models")
    {
        e.PropertyName = "Text";
    }
}

void radDataEntry1_BindingCreated(object sender, BindingCreatedEventArgs e)
{
    if (e.DataMember == "Models")
    {
        e.Binding.FormattingEnabled = !true;
        e.Binding.Parse += Binding_Parse;
        e.Binding.Format += Binding_Format;
    }
}

private void Binding_Format(object sender, ConvertEventArgs e)
{
    BindingList<Model> models = e.Value as BindingList<Model>;
    if (models != null)
    {
        checkedDDL.CheckedItems.Clear();
        StringBuilder sb = new StringBuilder();
        foreach (Model m in models)
        {
            sb.Append(m.Name + ";");
        }
        e.Value = sb.ToString();
    }
}

private void Binding_Parse(object sender, ConvertEventArgs e)
{
    BindingList<Model> m = checkedDDL.DataSource as BindingList<Model>;
    string[] tokens;
    if (e.Value != null && m != null)
    {
        BindingList<Model> newValue = new BindingList<Model>();
        tokens = e.Value.ToString().Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
        foreach (string token in tokens)
        {
            if (m.Any(item => item.Name == token))
            {
                Model foundModel = m.ToList().Find(item => item.Name == token);
                newValue.Add(new Model(foundModel.Id,foundModel.Name));
            }
        }

        e.Value = newValue;
    }
}

private void radDataEntry1_ItemInitialized(object sender, ItemInitializedEventArgs e)
{
    if (e.Panel.Controls[1].Text == "Models")
    {
        e.Panel.Size = new Size(350, 25);
    }
}

class Model : INotifyPropertyChanged
{
    private int id;
    private string name;

    public Model(int id, string name)
    {
        this.Id = id;
        this.Name = name;
    }

    public int Id
    {
        get
        {
            return this.id;
        }
        set
        {
            this.id = value;
            this.OnPropertyChanged("Id");
        }
    }

    public string Name
    {
        get
        {
            return this.name;
        }
        set
        {
            this.name = value;
            this.OnPropertyChanged("Name");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected virtual void OnPropertyChanged(string propName)
    {
        if (this.PropertyChanged != null)
        {
            this.PropertyChanged(this, new PropertyChangedEventArgs(propName));
        }
    }
}

The provided gif file illustrates better the obtained behavior.

Workaround: subscribe to the RadCheckedDropDownList.Validated event and call the RadCheckedDropDownList.DataBindings[0].WriteValue method. Thus, the Parse event will be fired and you can convert the input data to the appropriate format.