Sono un po' arruginito di Winforms, però mi pare che se tu assegni il bindingsource sia come sorgente della griglia che delle textbox e poi al bindingsource dai in pasto la collection di clienti dal repository, dovrebbe funzionare tutto senza necessità di fare query aggiuntive.

m.
34 messaggi dal 02 dicembre 2010
scusami sono stato troppo sbrigativo.

Ho questo form con una casella combinata dove metto le attività.
public frmClienti()
{
  InitializeComponent();
  cliente= ApplicationContext.Current.Cliente;
  attività = ApplicationContext.Current.Attività;

  cboAttività.DataSource = attività.GetAll();
  cboAttività.ValueMember = "Id";
  cboAttività.DisplayMember = "Descrizione";

          

}



Sotto ad essa c'è una DataGridView e quando cambio attività riempio la datagrid


CODICE PRESUMO SBAGLIATO
protected void cboMaster_SelectedIndexChanged(object sender, System.EventArgs e)
{
// codice dove valorizzo chiave
dgwClienti.DataSource=cliente.GetAll().Where(f=> f.Attività = chiave).Select(c => new { c.Id, c.RagioneSociale });

}


a questo punto quando cambio riga della datagridview aggiorno il bindingsource a cui sono collegate le textbox

CODICE PRESUMO SBAGLIATO
 private void dgwClienti_SelectionChanged(object sender, EventArgs e)
{
  int id = Convert.ToInt32(dgwClienti.Rows[dgwClienti.CurrentCell.RowIndex].Cells[0].Value);
try
{
this.currentObjectSetBindingSource.DataSource = cliente.GetById(id);
                
}
catch
{
}

}


Diciamo che fino a qua funzionicchierebbe  anche se il binding sulla DGW non viene fatto (ed è infatti lì che ho problemi)

Perchè se io vado a aggiornare, per esempio, la ragione sociale di un cliente quando faccio click sul tasto modifica faccio cliente.SaveChangese() e mi persiste sì le modifiche sul DB e anche su currentObjectSetBindingSource (se scorro sul cliente precedente e poi torno su quello modificato il campo sulla textbox risulta quello aggiornato) però non refresha (ovviamente) la DGW.
Bindando la dgw come dici te ho un paio di problemi: primo, il più grosso, son dubbioso sul cosa fare e il secondo non so come filtrare i record in base all'attività!
Modificato da MaxDembo81 il 02 febbraio 2011 12.53 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.