Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C#] Databinding

Pagina: 1
Acties:

  • Spiral
  • Registratie: December 2005
  • Niet online
Stel er zijn twee tabellen tblItems en tblLijnen. In de tabel tblItems refereert het veld fldLijnid naar een lijn in tabel tblLijnen. Sommige Items hebben nog geen lijn (dus NULL)
In mijn code koppel ik een item aan een lijn(1 item kan maximaal aan 1 lijn gekoppeld worden.).

C#:
1
2
3
4
5
cmbItems.DataSource = (DataSet)item;
cmbItems.DisplayMember = "tblItems.fldName";
cmbItems.ValueMember = "tblItems.fldId";
lblOmschrijving.DataBindings.Add("Text", (DataSet)item, "tblItems.fldDescription");
lblLijn.DataBindings.Add("Text", (DataSet)item, "tblItems.fldLijnid");


Ik voeg mijn lijn dmv een UPDATE toe aan mijn tblOPC_Items.
Nu mijn probleem waar ik niet uitkom. Hoe zorg ik ervoor dat mijn databinding ook geupdate wordt. Ik zou de hele databinding opnieuw kunnen inladen dmv een query, maar is er een kortere manier?

[ Voor 3% gewijzigd door Spiral op 27-02-2008 13:49 ]

To say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, and of what is not that it is not, is true. | Aristoteles


  • whoami
  • Registratie: December 2000
  • Laatst online: 13:42
Relatie leggen in je dataset, en binden op die relatie.

https://fgheysels.github.io/


  • Cloud
  • Registratie: November 2001
  • Laatst online: 03-11 10:25

Cloud

FP ProMod

Ex-moderatie mobster

Als je die UPDATE op tblOPC_Items rechtstreeks op de database uitvoert, zul je de query voor je Combobox en Labels inderdaad opnieuw uit moeten voeren. :) Is daar iets op tegen? Is het een langdurige query of zo?

Wat je misschien zou kunnen proberen is dezelfde UPDATE als op de database, ook uitvoeren op de DataSet die je al hebt. Daarna de controls laten refreshen, zou ook moeten werken.

of begrijp ik het probleem nu verkeerd?

Never attribute to malice that which can be adequately explained by stupidity. - Robert J. Hanlon
60% of the time, it works all the time. - Brian Fantana


  • Spiral
  • Registratie: December 2005
  • Niet online
Ok bedankt; ik heb het opgelost, maar ik weet niet als ik hiermee tevreden kan zijn.
Ik heb gezocht naar de Relaties in een DataSet

C#:
1
ds.Relations.Add("relation", ds.Tables["tblLijnen"].Columns["fldId"],ds.Tables["tbl_Items"].Columns["LijnId"]);


Heb ik toegevoegd en ben daarmee verder gegaan en ben tot de ontdekking gekomen dat ik 'm niet gebruik :S dmv onderstaande code( gebruik van //).

C#:
1
2
3
4
5
DataSet ds = (DataSet)cmbItems.DataSource;
DataRow[] row = ds.Tables["tblItems"].Select("fldId = " + cmbItems.SelectedValue.ToString());
row[0]["LijnId"] = cmbLijn.SelectedValue;
DataRow[] row2 = ds.Tables["tblLijnen"].Select("fldId = " + cmbLijn.SelectedValue.ToString());
row[0]["fldLijn"] = row2[0]["fldLijn"];


Bovenstaande werkt prima en de controls binden nu prima, moet het alleen nog opslaan in de database.

Wat ik nu niet begrijp is hoe ik bovenstaande kan doen met die DataSet.Relation

De hieronder een afbeelding. Als men op toevoegen klikt dan moet 'Toegewezen aan' gevuld worden met de waarde van 'Productie op lijn'
Afbeeldingslocatie: http://img156.imageshack.us/img156/23/screenhm5.jpg

[ Voor 2% gewijzigd door Spiral op 27-02-2008 16:20 . Reden: Stoeien met plaatje ]

To say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, and of what is not that it is not, is true. | Aristoteles