Ho questo DataTable che ha un set di colonne diverso tranne un numero di sequenza.ObjectDataSource Metodo di aggiornamento con parametri dinamici
| Sequenza | Valore | Tasse | Dovere | Totale |
Qualsiasi numero di colonne deve essere accettato con nomi di colonne univoci.
Per visualizzare tale tabella, è necessario utilizzare un oggetto ObjectDataSource mappato a una classe relatore con un metodo Select.
class Presenter {
[DataObjectMethod(DataObjectMethodType.Select)]
public DataView GetDutyAndTax() { ... }
}
L'ObjectDataSource è quindi legato a una GridView con AutoGenerateColumns impostate su true. La sequenza è la chiave dei dati.
Finora, questo funziona per la selezione del tavolo. Il problema arriva quando ho bisogno di aggiornare la tabella. ObjectDataSource continua a tormentarmi per avere un metodo di aggiornamento con gli stessi identici parametri con quello delle colonne nella tabella.
public void EditDutyAndTax(string Value, string Tax, string Duty, string original_Sequence) { ... }
Ma non riesco a creare un metodo del genere perché non conosco l'insieme di colonne necessarie.
Ho provato a utilizzare un metodo con elenco di parametri variabili ma non lo desidera.
public void EditDutyAndTax(params object[] values) { ... }
Su idea che ho ora è quello di creare un insieme di metodi di aggiornamento di questo tipo in Presenter:
public void EditDutyAndTax(string value1, string original_Sequence) { ... }
public void EditDutyAndTax(string value1, string value2, string original_Sequence) { ... }
public void EditDutyAndTax(string value1, string value2, string value3, string original_Sequence) { ... }
//an so on...
Ma io non credo che sia intenzione di ottenere attraverso la revisione del codice, né come l'idea.
L'altra idea che ho è quella di creare un metodo dinamico e collegarlo (se possibile) alla classe Presenter o ovunque al runtime, ma non sono sicuro se ciò funzionerebbe.
Quindi, se voi ragazzi avete qualche soluzione, per favore aiutatemi. Grazie mille!
Carlos