2016-06-11 7 views
-1

Ich habe Formulare, form1 und form2.Aktualisieren einer Datagridview von einer Schaltfläche in einer anderen Form C#

In form1 Ich habe eine datagridview, die die Daten aus meiner Datenbank lädt, zwei Schaltflächen, eine für einen Filter und eine andere, um eine Zeile der Datagridview hinzufügen.

In Form2 habe ich einige Comboboxen, Textfelder, Radiobuttons und vier Schaltflächen, eine, die die Daten hinzufügt, eine, um die ausgewählte Zeile zu entfernen (wenn ich eine Zeile in der Datagridview doppelklicke, wird das Formular2 mit dieser Information geladen Zeile), eine zu stornieren (das Formular zu schließen), und die letzte ist, die ausgewählte Zeile mit den geänderten Informationen zu aktualisieren.

Aber mein Problem ist, dass ich dort steckte, ich weiß nicht, wie man die gleiche Zeile aktualisiert. Ich kann einen neuen hinzufügen oder einen löschen. Ich arbeite an C# mit Entity Framework.

Kann mir jemand helfen, die ausgewählte Zeile aus einem anderen Formular zu aktualisieren?

Ich habe versucht, den Code zu ändern, die ich benutze, wenn ich die Datagridview verdoppeln clic die Daten in form2 zu laden:

Inspeccion inspeccio = new Inspeccion(); 
inspeccio.ID =Int32.Parse(txtNumTransaccion.Text); 
inspeccio.Vehiculo = Int32.Parse(cbxIdVehiculo.Text); 
inspeccio.Cliente= Int32.Parse(cbxIdCliente.Text); 
inspeccio.Ralladuras = ralladuras().ToString(); 
inspeccio.Cantidad_Combustible = cbxCombustible.Text.ToString(); 
inspeccio.Repuesta = repuesta().ToString(); 
inspeccio.Gato = gato().ToString(); 
inspeccio.Cristal = cristal().ToString(); 
inspeccio.Fecha_Inspeccion = DateTime.Parse(fecha.Text); 
inspeccio.Empleado_Inspeccion = Int32.Parse(cbxIdEmpleado.Text); 
inspeccio.Estado = cbxEstVehiculo.Text.ToString(); 
MessageBox.Show("Se ha actualizado con exito."); 
+0

Was hast du bisher? –

+0

Ich habe versucht, den Code zu ändern, den ich benutze, wenn ich den datagridview doppelt klicke, um die Daten in form2 zu laden, stellte ich meinen Versuch ein. –

Antwort

0

einige statische Variablen verwenden, Informationen zu speichern Zeile, wenn Sie form2 gehen. Verwenden Sie diese statischen Variablen bei der Rückgabe, um die gleiche Zeile zu aktualisieren. Beispiel:

public static int rowId; 
public static bool changed = false; 
private void rowClicked(object sender, EventArgs e) 
{ 
//get row id. say you got row id = 1 
Form1.rowId = 1; 
Form2 frm = new Form2(); 
frm.ShowDialog(); 
if(Form1.changed) 
updateRowinGridView(rowId); 
} 

In der Form2-Taste, verwenden Sie das folgende Codebeispiel:

private void updateButton(object sender,EventArgs e) 
{ 
//Update Record// 
Form1.changed = true; 
Close(); 
} 

Hope this Ihnen helfen.

0

Sie können ein DataSet in der Umgebung Ihres Projekts implementieren. Wenn Sie es aktualisieren, werden alle Bindungskomponenten aktualisiert.

Verwandte Themen