المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : How can I solve this error : " Provided column already belongs to the DataGridView control"



C# Programming
09-10-2013, 11:03 PM
I studied many questions in this forum that related to this problem.but I couldn't solve my problem.can you help me?the error happens in the line which was indicated by "****"
private static DataGridView Firstdgv; private static DataGridView Finaldgv = new DataGridView(); private static List<span class="code-keyword"string/span> SelectedColumns = new List<span class="code-keyword"string/span>(); private static List<span class="code-keyword"string/span> AvailableColumns = new List<span class="code-keyword"string/span>(); public void Print_DataGridView(DataGridView dgv1) { PrintPreviewDialog ppvw; try { // Getting DataGridView object to print Firstdgv = dgv1; // Getting all Coulmns Names in the DataGridView AvailableColumns.Clear(); foreach (DataGridViewColumn c in Firstdgv.Columns) { if (!c.Visible) continue; AvailableColumns.Add(c.HeaderText); } // Showing the PrintOption Form FrmPrintOptions dlg = new FrmPrintOptions(AvailableColumns); if (dlg.ShowDialog() != DialogResult.OK) return; PrintTitle = dlg.PrintTitle; PrintAllRows = dlg.PrintAllRows; FitToPageWidth = dlg.FitToPageWidth; SelectedColumns = dlg.GetSelectedColumns(); // RowsPerPage = 0; ppvw = new PrintPreviewDialog(); //ppvw.Document = printDoc; Finaldgv.AutoGenerateColumns = false; foreach (DataGridViewColumn GridCol in Firstdgv.Columns) { if (!GridCol.Visible) continue; if (!SelectedColumns.Contains(GridCol.HeaderText)) continue; Finaldgv.Columns.Add(GridCol); **** } DGVPrinter obj = new DGVPrinter(); obj.PrintPreviewDataGridView(Finaldgv); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }}