таким образом, я заполняю свой DGV некоторыми данными и устанавливаю некоторые невидимые столбцы:
var part = inventory.espiromex_product.Where(p => p.descriptionsmall == cmbMainP.Text).First().partnumberp;
dtgAssy.DataSource = inventory.espiromex_productsub.Where(p => p.partnumberp == part);
dtgAssy.Columns["idproductsub"].Visible = false;
dtgAssy.Columns["partnumberp"].Visible = false;
dtgAssy.Columns["partnumbersubp"].Visible = true;
dtgAssy.Columns["quantity"].Visible = true;
dtgAssy.Columns["comments"].Visible = true;
dtgAssy.Columns["assemblyno"].Visible = false;
dtgAssy.Columns["assemblynodesc"].Visible = false;
dtgAssy.Columns["uomid"].Visible = true;
dtgAssy.Columns["subassemblylevelnumber"].Visible = false;
dtgAssy.Columns["scrappercent"].Visible = true;
это очень хорошо, но столбцы отсортированы В алфавитном порядке, Как я могу переупорядочить столбцы программно?
обратите внимание, что материально-техническими ресурсами является Entitie, и я использую Linq для Объектов.
Можно задать свойство DisplayIndex отдельных столбцов.
Еще одно предложение: не позволяйте datagridview принимать решения за вас. Вместо того, чтобы позволять dgv автоматически создавать столбцы во время привязки, напишите код для создания столбцов в нужном порядке и с нужными атрибутами, а затем привяжите источник данных. Полагаясь на dgv для выполнения работы, вы можете создать непредсказуемые результаты по мере выхода новых версий или внесения тонких изменений в источник данных.