DataBindings при разрешенном значении поля Null

Dimyan
Дата: 23.08.2005 08:39:16
Подскажите пожалуйста как сделать
txtRPay.DataBindings.Add(new Binding("Text",rowCars, "rpay" ));
если поле может иметь значение поля rpay = null ?
у меня из за этого ошибки вылетают :((
serg20x
Дата: 26.08.2005 09:39:43
сделай свое свойство тапа object и привязывайся к ниму
пример предназначет для привязывания к полю типа System.Guig

private object _bindID=System.DBNull.Value ;
[System.ComponentModel.Browsable(false),
System.ComponentModel.Bindable(true)]
public object bindID
{
get
{
if(_bindID==null) return System.DBNull.Value ;
else return _bindID;
}
set{if (value is System.Guid )_bindID=value;
else _bindID=System.DBNull.Value;
OnbindIDChanged(EventArgs.Empty );}
}
public event EventHandler bindIDChanged;
protected void OnbindIDChanged(EventArgs e) {
if ( bindIDChanged != null )
bindIDChanged( this, e );}
Sa
Дата: 26.08.2005 10:07:39

Dimyan

как сделать
txtRPay.DataBindings.Add(new Binding("Text",rowCars, "rpay" ));
если поле может иметь значение поля rpay = null ?
у меня из за этого ошибки вылетают :((

Какие ошибки?

uid = Sa

Posted via ActualForum NNTP Server 1.3

Dimyan
Дата: 26.08.2005 10:30:47

Sa пишет:
> Какие ошибки?

Относящийся к свойству метод доступа 'rpay' для объекта
'CargoBase.Dataset+CarsRow' выдал исключение:'Cannot get value because
it is DBNull.'

Posted via ActualForum NNTP Server 1.3

Sa
Дата: 26.08.2005 10:55:46

Что есть rowCars?

uid = Sa

Posted via ActualForum NNTP Server 1.3

Dimyan
Дата: 26.08.2005 12:27:18
Вот кусочек
public void EditRow(CurrencyManager crm)
		{
			drvCars = (DataRowView)crm.Current;
			rowCars = (Dataset.CarsRow) drvCars.Row;
						
			txtRPay.DataBindings.Add("EditValue",rowCars, "rpay");
Sa
Дата: 26.08.2005 13:42:06

А что за EditValue?

uid = Sa

Posted via ActualForum NNTP Server 1.3

Dimyan
Дата: 26.08.2005 14:08:06

Sa пишет:
> А что за EditValue?
А ну это компаненты DevExpress.XtraEditors.TextEdit, одно и тоже что и
Text можно кстатии и по свойству техт заполнять, та же ошибка
На стандартном TextBox та же ошибка :(

Posted via ActualForum NNTP Server 1.3

Sa
Дата: 28.08.2005 15:15:21

Если так:
drvCars = (DataRowView)crm.Current;
//rowCars = (Dataset.CarsRow) drvCars.Row;
txtRPay.DataBindings.Add("EditValue",drvCars, "rpay");

uid = Sa

Posted via ActualForum NNTP Server 1.3

Dimyan
Дата: 29.08.2005 09:16:38

Sa пишет:
>
> Если так:
>
> drvCars = (DataRowView)crm.Current;
> //rowCars = (Dataset.CarsRow) drvCars.Row;
> txtRPay.DataBindings.Add("EditValue",drvCars, "rpay");

Sa, приогромное спасибо! Все нормально вроде.
Кстатии было сделано как было, по примеру книги ADO.Net.

Posted via ActualForum NNTP Server 1.3