In the comments flashed information that loading from the DataSource is not used due to the fact that the structure of the resulting query is different from the structure DataGridViev.
This is not a problem; you can control the bound columns by knobs, choosing which column from the source to display on a particular DataGridView column.
dataGridView.AutoGenerateColumns = false;//Колонки генерироваться не будут=> где-то потребуется их сгенерировать перед привязкой dataGridView.DataSource = result; dataGridView.Columns["GridColumnName"].DataPropertyName = "ResultColumnName";
Data that has not been attached is not lost.
That is, if you get a Row from a DataGridView, you can bring it to the desired type and refer to fields that were not reflected.
VirtualMode = truemode toVirtualMode = trueand handle the corresponding events. Read more in MSDN . But, I suppose, it will be enough for you to simply use regular data binding. - Ev_Hyperdgv.DataSource = datarows.CopyToDataTable().DefaultView;- Ev_Hyperdgvcolumns fordgvother thandatarowsor what? - Ev_Hyper