choc000 Ответов: 1

Как просмотреть datatable в списке с помощью datagridview


Я хочу просмотреть свой datatable в виде списка с помощью datagridview. Я много читал. Они сказали использовать обертку,но я не понимаю.

Что я уже пробовал:

Это кодирование будет отображаться в datatable.


String[] excelSheets = new String[dt.Rows.Count];

                    int i = 0;
                    foreach (DataRow row in dt.Rows)
                    {
                        excelSheets[i] = row["TABLE_NAME"].ToString();

                        i++;
                    }

                    for (int j = 0; j < excelSheets.Length; j++)
                    {

                    }
                    
                    foreach (String str in excelSheets) 
                    {
                        dataGridView1.DataSource = dt;
                        
                    }

1 Ответов

Рейтинг:
1

RickZeeland

Вам нужно только установить DataSource один раз, предпочтительно с помощью BindingSource.
Затем все изменения в сетке автоматически отражаются в BindingSource.
Вот отличная статья об этом: Подробное Руководство По Привязке Данных[^]

Пример базы данных:

using System;
using System.Configuration;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace TestGrid
{
    partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void getData_Click(object sender, EventArgs e)
        {
            string customers = "SELECT * FROM MyUsers";
            using (SqlConnection con = new SqlConnection("Data Source=MyPcName;Initial Catalog=MyDatabase;Integrated Security=True"))
            {
                DataSet ds = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter(customers, con);
                da.Fill(ds, "Customers");
                dataGridView.AutoGenerateColumns = true;
                dataGridView.DataSource = ds;
                dataGridView.DataMember = "Customers";
            }
        }
    }
}