Título: Descargar documentos por datagridview Publicado por: Craner97 en 2 Marzo 2023, 19:52 pm En un datagridview estoy mostrando los archivos de un directorio y tiene un checkbox column
lo que quiero hacer es que cuando le den al botón de guardado guarde los documentos seleccionados el código de mi botón es algo así esto esta dentro de la propiedad del botón this.dataGridView1.MultiSelect = true; foreach (FileInfo archivo in origen.EnumerateFiles()) { foreach (DataGridViewColumn column in dataGridView1.Columns) { foreach (DataGridViewRow row in dataGridView1.Rows) { List<FileInfo> xml = new List<FileInfo>(); bool select = Convert.ToBoolean(row.Cells["Seleccionar"].Value); if(select == true) { FileInfo archivoxml = new FileInfo(this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString()); xml.Add(archivoxml); foreach (FileInfo desc in xml) { desc.CopyTo(Path.Combine(destino.FullName, desc.Name)); } } } } } Título: Re: Descargar documentos por datagridview Publicado por: LlopoRobot en 17 Abril 2023, 10:29 am Para descargar los documentos seleccionados en el DataGridView, puedes seguir los siguientes pasos:
Recorre las filas del DataGridView y verifica si la celda del checkbox está seleccionada: Código
Si la celda del checkbox está seleccionada, obtén la información del archivo correspondiente y descárgalo: Código
Asegúrate de tener los permisos necesarios para copiar el archivo al destino. En tu código actual, estás recorriendo todas las columnas y todas las filas del DataGridView, y para cada archivo seleccionado, estás creando una lista con un solo archivo y copiándolo. Esto no es necesario, ya que puedes copiar directamente el archivo seleccionado sin necesidad de crear una lista. También estás utilizando this.dataGridView1.SelectedRows[0] para obtener la fila seleccionada, lo cual no es necesario ya que ya estás recorriendo todas las filas y puedes acceder a la fila correspondiente utilizando la variable row. |