, поэтому я заполняю свой 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 to Entities.