Paso 6: Código código código...
Aquí es un código completo de nuestra aplicación con comentarios después "/ /" los casos:utilizando el sistema;
utilizando System.Collections.Generic;
utilizando System.ComponentModel;
utilizando System.Data;
utilizando System.Drawing;
utilizando System.Linq;
utilizar System.Text;
utilizando System.IO; //Added
utilizando System.Windows.Forms;
uso de System.Runtime.Serialization.Formatters.Binary; //Added
uso de System.Runtime.Serialization; //Added
testowa namespace / / este mi nombre de proyecto
{
pública clase parcial Form1: forma
{
Form1() pública
{
InitializeComponent();
}
[Serializable] / / Permitir nuestra clase en el archivo
datos de la clase / / nuestra clase para los datos
{
nombre de la cadena pública;
Apellido de la cadena pública;
ciudad de la cadena pública;
número de la cadena pública;
}
privado SaveToolStripMenuItem_Click void (remitente de objeto, EventArgs e)
{
DE LA RED. EndEdit();
SaveFileDialog saveFileDialog1 = nuevo SaveFileDialog(); //Creating un archivo guardar diálogo
saveFileDialog1.RestoreDirectory = true;
leer y filtrar los datos en bruto
Si (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
BinaryFormatter formatter = new BinaryFormatter();
Salida FileStream = new FileStream (saveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write);
'
int n = rejilla. RowCount;
[datos] persona = nuevos datos [n - 1]; //We tiene tantos registros como muchas filas, las filas se agregan automáticamente por lo que tenemos siempre una fila más que necesitamos, por lo que n es un número de filas -1 fila vacía
para (int i = 0; i < n - 1; i ++)
{
Persona [i] = nuevo data();
//GRID tiene dos números en el primer número de "[]" es un índice de columna, en segundo lugar es un una idnex de la fila ', indexación siempre empieza de 0'
Persona [i] .name = GRID [0, i]. Value.ToString();
Persona [i] .surname = GRID [1, i]. Value.ToString();
Persona [i] .city = GRID [2, i]. Value.ToString();
Número de persona [i] = GRID [3, i]. Value.ToString();
}
formateador. Serializar (salida, persona);
salida. Close();
}
}
privado OpenToolStripMenuItem_Click void (remitente de objeto, EventArgs e) / / lectura de un archivo y agregando datos a red
{
openFileDialog1 = new OpenFileDialog();
Si (openFileDialog1.ShowDialog() == DialogResult.OK)
{
BinaryFormatter lector = new BinaryFormatter();
Entrada de FileStream = new FileStream (openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
[datos] persona = reader (datos []). Deserialize(INPUT);
DE LA RED. Rows.Clear();
para (int i = 0; i < Person.Length; i ++)
{
DE LA RED. Rows.Add();
REJILLA [0, i]. Valor = persona [i] .name;
GRID [1, i]. Valor = persona [i] .surname;
REJILLA [2, i]. Valor = .city persona [i];
REJILLA [3, i]. Valor = número de persona [i];
}
}
}
privado CloseToolStripMenuItem_Click void (remitente de objeto, EventArgs e)
{
Close(); / cierre una aplicación
}
}
}