update runsql query into from docmd ios objective-c uitableview

ios - runsql - update query access vba



¿Cómo actualizar los datos en tableView? (6)

He tenido este problema muchas veces y siempre cometo el mismo error.

[self._tableview reloadData] funciona!

La pregunta es el lugar donde se rellena la tabla.

Lo hice en - (void) viewDidLoad y la tabla se actualizó con los mismos datos . Aparentemente no pasa nada.

Actualice el contenido de su vista de tabla (plist, diccionario, matriz, lo que sea) en el mismo lugar donde llama [self._tableview reloadData], justo antes.

Esa es la clave!

Haz una prueba:

#pragma mark - Actions - (IBAction)refreshParams:(id)sender { self.dictionary = nil; [self._tableView reloadData]; }

Puede ver cómo desaparece el contenido de Tableview cuando presiona el botón de actualización. Obviamente, este es un ejemplo. Utilizo un diccionario para rellenar la tabla y un botón para actualizar el contenido.

Inicializo los datos en mi tabla con una matriz en viewDidLoad y luego agrego los datos a la celda. Esta es una forma estándar de hacerlo que leí en un libro. Esto es lo que tengo:

- (void)viewDidLoad { [super viewDidLoad]; //Create array and add data ("tableViewValues" is initialized in .h file) tableViewValues = [[NSMutableArray alloc]init]; [tableViewValues addObject:@"$280,000.00"]; [tableViewValues addObject:@"$279,318.79"]; } // Customize the appearance of table view cells. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } NSString *cellValue = [tableViewValues objectAtIndex:indexPath.row]; cell.textLabel.text = cellValue; return cell; }

Entonces, cuando la vista se carga, esos dos valores de moneda están en mi tabla. Ahora en otra función, relleno otra matriz con diferentes números de moneda dependiendo de lo que el usuario ingrese en un campo de texto. ¿Cómo actualizaría mi vista de tabla actual y reemplazaría esos valores con los valores de mi otra matriz? ¿Alguien puede ayudarme? ¡Gracias!


Necesitaría (liberar y) recrear la misma matriz tableViewValues y luego llamar reloadData método reloadData en tableView de esta manera:

[self.tableView reloadData];

Esto funcionará si está en el controlador de vista de tabla y self.tableView apunta a la tabla en cuestión.


Puedes llamar

[self.tableView reloadData];

para recargar todos los datos, sin embargo, deberá programar una forma para que la matriz que desea rellene la tabla. Quizás desee que su -cellForRowAtIndexPath llame a un método privado que elija condicionalmente la matriz correcta.


Tiene que eliminar todos los valores de su matriz, luego tiene que llamar a los datos de recarga de la tabla

// In the method where you will get new values [tableViewValues removeAllObjects]; [tableViewValues add:@"new values"]; //reload table view with new values [self.tableView reloadData];


en esa función, después de asignar valores a la nueva matriz, todo lo que tiene que hacer es

[tableViewValues removeAllObjects]; tableViewValues = [[NSMutableArray alloc] arrayByAddingObjectsFromArray:newArray]; [self.tableView reloadData];


[self.tableView reloadData];

te ayudará para esto.