В моем WinForm
приложения, когда я хочу, чтобы добавить строку в xtragrid
, у меня есть проблема с получением текущего значения сосредоточенаtextbox
,XtraGrd.GetRow (XtraGrd.FocusedRowHandle) не получает значение сфокусированного TextBox
Предположим, у меня есть textBox
связываются с Model.VchType.Title
, Прежде чем нажать кнопку Сохранить кнопку мой фокус находится на txtTitle
и я напечатал «title1» на нем.
Это мой код кнопку Сохранить событие:
Model.VchType row = xtraGrd.GetRow(xtraGrd.FocusedRowHandle) as Model.VchType;
я null
для row.Title
после того, как попадает в точку останова в этой строке кода. И эта проблема возникает только тогда, когда я нажимаю кнопку сохранения Фокус находится на txtTitle
.
-------- ОБНОВЛЕНИЕ ------------
Вот некоторые из кода модели:
[System.ComponentModel.DataAnnotations.Schema.Table("vwVchType", Schema = "Sle")]
[Serializable]
public class VchType : Entity
{
private int _ID;
[System.ComponentModel.DataAnnotations.Schema.Column]
[RnDisplayName(typeof(Rnw.Sle.Properties.Resources), "ID")]
public override int ID
{
get
{
return _ID;
}
set
{
_ID = value;
}
}
private string _Title;
[System.ComponentModel.DataAnnotations.Schema.Column]
[RnDisplayName(typeof(Rnw.Sle.Properties.Resources), "Title")]
public string Title
{
get
{
return _Title;
}
set
{
_Title = value;
}
}
}
Также я создал столбцы дизайнер.
Я заполняю bindingSource
и устанавливаю свойство сетки datasource
на этот источник связывания в дизайнере.
И я не думаю, что проблема - это имя столбца, потому что если до нажатия кнопки «Сохранить» я фокусируюсь на другом контроллере, он отлично работает, и я получаю значение для row.Title
.
Является ли текстовое поле репозиторием в сетке? Или это текстовое поле из GridComponent? – Sebi
@Sebi Свой репозиторий в сетке –
Перед сохранением данных попытайтесь установить фокус на любом другом объекте. Это не так чисто, но у меня есть проекты, где это было полезно. Итак, первое действие в вашем методе сохранения - установить фокус на любую метку или sth. из сетки. – Sebi