PDA

View Full Version : مشکل Focus با Binding



sds1920
چهارشنبه 24 شهریور 1395, 15:42 عصر
سلام
من یک فیلد ?int رو با استفاده از کد زیر به یک تکست باکس Bind میکنم.

txtTell.DataBindings.Add("Text", selectedPerson, "Tell", true, DataSourceUpdateMode.OnPropertyChanged, null);


تا وقتی که Tell اصلا مقدار دهی نشده باشه و یا مقدار داشته باشه مشکلی نیست و Focus جابجا میشه.ولی زمانی که Tell مقدار داشته باشه و اون رو از توی تکست باکس پاک کنیم مشکل به وجود میاد و اجازه نمیده که Focus از روی تکست باکس به جای دیگه منتقل بشه.
از دوستان کسی به این مشکل برحورد کرده تا حالا؟
ممنون میشم کمک کنید.

sds1920
چهارشنبه 24 شهریور 1395, 16:44 عصر
مشکل حل شد.
باید مقدار CausesValidation تکست باکس رو برابر با false قرار میدادم

Mahmoud.Afrad
چهارشنبه 24 شهریور 1395, 18:05 عصر
مشکل حل شد.
باید مقدار CausesValidation تکست باکس رو برابر با false قرار میدادم

با این کار ، دیتاسورس بروز نخواهد شد.

میتونید به صورت زیر عمل کنید
Binding binding = new Binding("Text", selectedPerson, "Tell", true, DataSourceUpdateMode.OnPropertyChanged);

binding.Parse += (sender, args) =>
{
string val = args.Value as string;
if (string.IsNullOrEmpty(val))
{
args.Value = null;
}
else
{
args.Value = decimal.Parse(val);
}
};

txtTell.DataBindings.Add(binding);