Данные SQL в DataGridView - PullRequest
       4

Данные SQL в DataGridView

0 голосов
/ 02 июля 2010

Эй, ребята, у меня есть приложение, которое я хочу отобразить некоторые данные из базы данных sql в DataGridView ... У меня есть данные, отображаемые в DataGridView сейчас, но вот мои вопросы ... Как я могу использовать пользовательский заголовокзаголовки, потому что я не хочу, чтобы заголовки столбцов SQL использовались для заголовков столбцов DataGridView.Кроме того, я хочу, чтобы, когда пользователь дважды щелкает строку, он открывал значение filePath из этой строки ... Я также хотел бы иметь возможность указать ширину столбцов.Вот как раскладываются таблицы.

Таблица SQL: Row_ID (я не хочу отображаться в сетке), PartNumber, CMMNumber, CreatedOn, FilePath, RacfId, currTime

Представление сетки данныхжелаемый формат: номер детали, номер CMM, создан, путь, идентификатор пользователя, просмотрено

Текущий код - получает данные (все, включая Row_ID) и использует имена столбцов sql в качестве имен длястолбцы представления сетки данных, он также просто использует ширину столбцов по умолчанию.

private void NewAlert_Load(object sender, EventArgs e)
        {
            string connString = "Server=FRXSQLDEV;Database=MyDB;User Id=ID;Password=Password;";

            string query = "SELECT * FROM CMMReports WHERE RacfId IS NULL;";

            SqlDataAdapter dAdapter = new SqlDataAdapter(query, connString);

            SqlCommandBuilder cBuilder = new SqlCommandBuilder(dAdapter);

            DataTable dTable = new DataTable();

            dAdapter.Fill(dTable);



            //BindingSource to sync DataTable and DataGridView
            BindingSource bSource = new BindingSource();

            //set the BindingSource DataSource
            bSource.DataSource = dTable;

            //set the DataGridView DataSource
            dgView.DataSource = bSource;

            dAdapter.Update(dTable);



        }

Ответы [ 2 ]

3 голосов
/ 02 июля 2010

Если вы хотите использовать пользовательские заголовки и т. Д. Прежде всего создайте новую таблицу данных и дайте имена. Будьте осторожны с typeof ()

DataTable dt = new DataTable();

        dt.Columns.Add("Title 1",typeof(int));
        dt.Columns.Add("Title 2", typeof(string));
        dt.Columns.Add("Title 3", typeof(DateTime));
        dt.Columns.Add("Title 4", typeof(bool));
        dt.AcceptChanges();

Получить все данные из SQL и создать для них объект в

foreach (var item в yourSqlData)

object[] row = new object[] 
        { 
        item.data1.ToString(), // string columns
        Convert.ToInt32(item.data2), // int columns
        Convert.ToDateTime(item.data3), // datetime column
        Convert.ToBoolean(item.data4) // bool column
        };
        dt.Rows.Add(row);

и привязать dt к вашему gridView

0 голосов
/ 02 июля 2010

Для скрытия столбцов («Row_ID») Вы можете использовать

dgView.Columns[0].Visible = false;

Для настройки текста заголовка

dgView.Columns[1].HeaderText = "PartNumber";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...