Как установить индекс каждого столбца вручную в datagridview после привязки данных в winforms? - PullRequest
0 голосов
/ 11 августа 2011

код для добавления динамических данных

getdata()  
{  
SqlConnection con = new SqlConnection("Data source=XXXXX;Initial catalog=dummy;integrated security=true");  
            DataTable dt = new DataTable();  
            DataColumn col = new DataColumn("Title", typeof(System.String));  
            dt.Columns.Add(col);  
            DataRow row = dt.NewRow();  
            con.Open();  
            SqlCommand cmd = new SqlCommand("select  Title,Description from systemtray", con);  
            SqlDataReader dr;  
            dr = cmd.ExecuteReader();  
            while (dr.Read())  
            {  
              string s=dr["Title"].ToString()+Environment.NewLine+dr["Description"].ToString();    

                row["Title"]= s.Trim();  

                dt.Rows.Add(row["Title"]);  
            }  
            dataGridView1.DataSource = dt; 
}

и я добавляю две кнопки к сетке данных, используя свойства. Вот результат: две кнопки отображаются в индексе [0], [1] и данные отображаются в последнем столбце, мне нужно отобразить данные в индексе [ 0], затем две кнопки. Как я могу установить индекс вручную.

Ответы [ 2 ]

7 голосов
/ 11 августа 2011

Чтобы изменить позицию столбца в DataGridView, задайте для свойства DataGridViewColumn DisplayIndex желаемое значение:

dataGridView1.Columns[2].DisplayIndex = 0;

Этот код изменяет третий столбец DGV на позицию первого столбца.

Обратите внимание, что вам не нужно изменять столбцы в DataTable, и изменение порядка столбцов в DataGridView не повлияет на схему вашего DataTable.

2 голосов
/ 11 августа 2011

В конструкторе форм добавьте новый DataGridViewTextBoxColumn и переместите его в верхнюю позицию или в любую позицию, в которой вы хотите отобразить этот столбец, затем в свойствах этого DataGridViewTextBoxColumn установите DataPropertyName на имя вашего столбца. , который из вашего кода, я могу видеть, что это Заголовок , это все, скомпилируйте, запустите, и он должен отображать текстовый столбец перед столбцами кнопки ... Я прикрепил скриншот для вас, я надеюсь, что это будет решить вашу проблему ...

posit

...