Pokusavam da napravim moju DateTimePicker kontrolu, zapravo da prepravim postojecu. Ne kapiram kako radi binding Nasledio sam DateTimePicker klasu i u njoj sam smestio samo konstruktor i property Value za koji se binduje, cisto da vidim sta se zbiva unutra:
Code:
[System.ComponentModel.DesignerCategory("Code")]
public class DateTimePickerNull : System.Windows.Forms.DateTimePicker
{
public DateTimePickerNull()
{
}
new public DateTime Value
{
get
{
//return base.Value;
}
set
{
Debug.WriteLine(value.ToShortDateString());
// if(value != null || value != DBNull.Value){
//base.Value = value; }
}
}
}
[System.ComponentModel.DesignerCategory("Code")]
public class DateTimePickerNull : System.Windows.Forms.DateTimePicker
{
public DateTimePickerNull()
{
}
new public DateTime Value
{
get
{
//return base.Value;
}
set
{
Debug.WriteLine(value.ToShortDateString());
// if(value != null || value != DBNull.Value){
//base.Value = value; }
}
}
}
Medjutim kada bindujem kontrolu za dataSet desava se nesto vrlo cudno !
Prvi record ima popunjeno polje sa datumom, a ostali nemaju, tj. null.
Uzeo CurrencyManager kako bih mogao da se shetam po recordima preko .Position property-a.
Kada kliknem na button koji inkrementira position, trebalo bi da predje na sledeci record u kome je polje datum null, ali to se nedesi !! Cim izkomentarisem bindovanje za moju DateTimePicker kontrolu to radi.
Zanima me sta se desava kada se kontrola binduje. Ocigledno se ne binduje direktno za .Value. Gledao sam IBindingList interfejs ali nisam mogao nista da provalim.
I jos nesto DateTime _ne_sme_ biti null, za onaj red if(value != null ...) kompajler prijavljuje tu gresku ! Pa dobro, koja je vrednost polja ako je u bazi null ?!?!?!
Pih, trebao sam da se drzim C++, goddamnmotherfuckingasssucking C#
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.