Автоматическое дополнение информации столбцом Datagridview c #

У меня есть сетка данных, которая импортирует файл Excel, и мне нужен заданный столбец, который будет служить запросом для получения дополнительной информации ... введите select * from table, где column_del_datagrid, дело в том, что я не знаю, сколько файлов вылетает в документе Excel. Например, в файле будет столбец с идентификационными карточками, и есть 10 удостоверений личности. Мне нужно, чтобы вы принесли из базы данных с этими 10 удостоверениями личности больше данных

В итоге я не знаю, как выполнить запрос

, поэтому я взимаю плату Файл Excel в таблице данных:

using System;

using System.Data;
using System.Data.OleDb;

using System.Windows.Forms;

using controlador;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {

        Class1 objeto = new Class1();
        public Form1()
        {
            InitializeComponent();
        }

        private void Btncerrar_Click(object sender, EventArgs e)
        {
            //volver al inicio de sesion
            Dispose();
            login AbrirVentana = new login();
            this.Hide();
            AbrirVentana.Show();
        }



        private void btncargar_Click(object sender, EventArgs e)
        {
            string hoja = "libro1";    //constante de el numero de la hoja
            string direccion = "1";        //variable receptora de la direccion del documento
            try
            {
                OpenFileDialog openfile1 = new OpenFileDialog();
                if (openfile1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    direccion = openfile1.FileName;
                }
                {
                    string pathconn = "Provider = Microsoft.jet.OLEDB.4.0; Data source=" + direccion + ";Extended Properties=\"Excel 8.0;HDR= yes;\";"; //conexion concatenando la variable con la direccion del archivo excel
                    OleDbConnection conn = new OleDbConnection(pathconn);
                    OleDbDataAdapter MyDataAdapter = new OleDbDataAdapter("Select * from [" + hoja + "$]", conn); //consulta concatenando la constante con el nombre de la hoja
                    DataTable dt = new DataTable();
                    MyDataAdapter.Fill(dt);
                    Insertar.DataSource = dt;


                }
            }
            catch (Exception Error){
                MessageBox.Show("Error: " + Error.Message);
            }
        }

        private void btnlimpiar_Click(object sender, EventArgs e)
        {


        }
    }
}
0
задан 07.11.2019, 11:08
1 ответ

Если у тебя есть DataTable, ты мог бы применять фильтры на этом используя linq

Создавать объект DataTable начиная с консультации (LINQ to DataSet)

тогда серьезная

var query = dt.Rows.AsEnumerable().Where(r=> r.Fields<DateTime>("nombrecolumna") == valor);

DataTable resultTable = query.CopyToDataTable<DataRow>();

так ты применяешь этот новый datatable datasource grid

Конечно он поддерживает всегда первоначальный datatable, если спокойные фильтр ты это можешь вновь загружать

0
ответ дан 10.11.2019, 22:29

Теги

Похожие вопросы