Установить столбец в таблице данных как невидимый - PullRequest
0 голосов
/ 26 июля 2011

Мне было интересно, как сделать столбец в моей таблице данных невидимым. Вот код ...

        else if (combo_View.Text == "Orders")
        {

            da.SelectCommand = new OleDbCommand("SELECT * FROM TestQuery WHERE (VendorName = @VendorName OR @VendorName = '') AND (CustomerName = @CustomerName OR @CustomerName = '')  AND ((@From IS NULL AND @To IS NULL) OR orderDate BETWEEN @From AND @To) AND (ItemNum = @ItemNum OR @ItemNum = '') AND (PO = @PO OR @PO = '') ORDER BY CustomerName", cs);

            da.SelectCommand.Parameters.Add("@VendorName", OleDbType.VarChar).Value = combo_VendorView.Text.ToString();
            da.SelectCommand.Parameters.Add("@CustomerName", OleDbType.VarChar).Value = combo_CustomerView.Text.ToString();

            if (!chk_viewAllDates.Checked)
            {
                da.SelectCommand.Parameters.Add("@From", OleDbType.Date).Value = "#" + tp_viewFrom.Value.Date.ToString("M/d/yyyy") + "#";
                da.SelectCommand.Parameters.Add("@To", OleDbType.Date).Value = "#" + tp_viewTo.Value.Date.ToString("M/d/yyyy") + "#";
            }

            else
            {
                da.SelectCommand.Parameters.Add("@From", OleDbType.Date).Value = DBNull.Value;
                da.SelectCommand.Parameters.Add("@To", OleDbType.Date).Value = DBNull.Value;
            }

            da.SelectCommand.Parameters.Add("@PO", OleDbType.VarChar).Value = txt_POLookup.Text.ToString();
            da.SelectCommand.Parameters.Add("@ItemNum", OleDbType.VarChar).Value = combo_ItemNumLookup.Text.ToString();

            dsB.Clear();
            da.Fill(dsB);

            tblEditBS.DataSource = dsB.Tables[0];
            dgv_DataLookup.DataSource = tblEditBS;



        }

индекс 14-го столбца - это идентификатор заказа / первичный ключ. Я не хочу показывать это, но я должен включить это в свой sql, чтобы моя функция редактирования работала. Я хочу что-то вроде этого

dsB.Clear();
dsB.Tables[0].Columns[14].Visible = false;
da.Fill(dsB);

к сожалению, это недопустимая команда. если вы видите, что я пытаюсь сделать, пожалуйста, помогите мне. Спасибо!

p.s. - Winforms с C # .net. Visual Studio 2010 с типом базы данных OLEDB (доступ)

Ответы [ 2 ]

3 голосов
/ 26 июля 2011

Вы пытались установить Visible-свойство сетки данных?Пример:

dataGridView1.Columns [14] .Visible = false;

1 голос
/ 27 июля 2011

Вы можете сделать это двумя способами.

В коде, где вы указали бы свой столбец, который вы хотите сделать невидимым при загрузке datagridview

dataGridView1.Columns[14].Visible = false;

Или вы можете сделать этоproperties в сетке данных, если вашему сетке данных назначен источник данных.Перейдите к представлению дизайна своего представления данных, а затем выберите свое представление данных.Откройте свойства для этого, выберите Columns.

enter image description here

Из всплывающего диалогового окна вы можете показать / скрыть любой столбец, который вы хотите.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...