Avatar billede Slettet bruger
26. februar 2008 - 22:37

DataBinding: DataGridView og null-værdier

Jeg har bundet en BindingList<Customer> til et DataGridView.

Hver Customer kan have OrderInfo - men den kan også være null - og brugeren skal have mulighed for at 'null'e den.

I mit CellParsing-eventet konverterer jeg manuelt brugerens string-input til et OrderInfo object. Hvis brugeren har indtastet en ugyldig værdi - skal jeg sætte null på objectet.

Det får jeg ikke lov til...
Jeg har prøvet følgende:
Sat kolonnens InheritedStyle.DataSourceNull = null;
I CellParsing sætter jeg:
e.Value = string.empty; (har prøvet e.Value = null;)
e.ParsingApplied har jeg sat til true (har prøvet e.ParsingApplied = false med begge muligheder i e.Value).

Jeg får en DataError med at der sker en ugyldig ændring fra String -> OrderInfo.

Når jeg følger debugging, når jeg ikke ned i propertien på Customer-objectet - den fejler  umiddelbart efter CellParsing.

Hvad overser jeg?

public class Customer
{
  public OrderInfo OrderInfo
  {
      get{return _OrderInfo;}
      set{_OrderInfo = value;}
  }
}

public Class OrderInfo
{
  private Decimal _MaxTotal;
  public Decimal MaxTotal
  {
      get{return _MaxTotal;}
      set{_MaxTotal = value;}
  }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester