Example #1
0
        private void GetColumnsName(DevExpress.XtraGrid.GridControl grd, ref string col1, ref string col2, int iloop)
        {
            try
            {
                int cnt = 0;

                DataTable dttmp = new DataTable();

                if (grd.MainView is DevExpress.XtraGrid.Views.Grid.GridView)
                {
                    DevExpress.XtraGrid.Views.Grid.GridView view = grd.MainView as DevExpress.XtraGrid.Views.Grid.GridView;
                    view.OptionsPrint.ExpandAllDetails = true;

                    if (view.RowCount > 0 || grd.DataSource != null)
                    {
                        DataTable dtSource = grd.DataSource as DataTable;
                        dttmp = dtSource.Clone();
                        for (int u = 0; u < view.RowCount; u++)
                        {
                            int iRow = view.GetDataSourceRowIndex(u);
                            dttmp.ImportRow(dtSource.Rows[iRow]);
                        }
                    }

                    for (int i = 0; i < view.Columns.Count; i++)
                    {
                        if (view.Columns[i].Visible && cnt == 0)
                        {
                            col1 = view.Columns[i].Caption;
                            cnt++;
                        }
                        else if (view.Columns[i].Visible && cnt > 0)
                        {
                            col2 = view.Columns[i].Caption;
                            cnt++;
                            break;
                        }
                    }
                }
                else if (grd.MainView is DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView)
                {
                    DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView view = grd.MainView as DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView;
                    view.OptionsPrint.ExpandAllDetails = true;

                    if (view.RowCount > 0 || grd.DataSource != null)
                    {
                        DataTable dtSource = grd.DataSource as DataTable;
                        dttmp = dtSource.Clone();
                        for (int u = 0; u < view.RowCount; u++)
                        {
                            int iRow = view.GetDataSourceRowIndex(u);
                            dttmp.ImportRow(dtSource.Rows[iRow]);
                        }
                    }

                    for (int i = 0; i < view.Columns.Count; i++)
                    {
                        if (view.Columns[i].Visible && cnt == 0)
                        {
                            col1 = view.Columns[i].Caption;
                            cnt++;
                        }
                        else if (view.Columns[i].Visible && cnt > 0)
                        {
                            col2 = view.Columns[i].Caption;
                            cnt++;
                            break;
                        }
                    }
                }
                else if (grd.MainView is DevExpress.XtraGrid.Views.BandedGrid.BandedGridView)
                {
                    DevExpress.XtraGrid.Views.BandedGrid.BandedGridView view = grd.MainView as DevExpress.XtraGrid.Views.BandedGrid.BandedGridView;
                    view.OptionsPrint.ExpandAllDetails = true;

                    if (view.RowCount > 0 || grd.DataSource != null)
                    {
                        DataTable dtSource = grd.DataSource as DataTable;
                        dttmp = dtSource.Clone();
                        for (int u = 0; u < view.RowCount; u++)
                        {
                            int iRow = view.GetDataSourceRowIndex(u);
                            dttmp.ImportRow(dtSource.Rows[iRow]);
                        }
                    }

                    for (int i = 0; i < view.Columns.Count; i++)
                    {
                        if (view.Columns[i].Visible && cnt == 0)
                        {
                            col1 = view.Columns[i].Caption;
                            cnt++;
                        }
                        else if (view.Columns[i].Visible && cnt > 0)
                        {
                            col2 = view.Columns[i].Caption;
                            cnt++;
                            break;
                        }
                    }
                }
                else if (grd.MainView is DevExpress.XtraGrid.Views.Card.CardView)
                {
                    DevExpress.XtraGrid.Views.Card.CardView view = grd.MainView as DevExpress.XtraGrid.Views.Card.CardView;


                    if (view.RowCount > 0 || grd.DataSource != null)
                    {
                        DataTable dtSource = grd.DataSource as DataTable;
                        dttmp = dtSource.Clone();
                        for (int u = 0; u < view.RowCount; u++)
                        {
                            int iRow = view.GetDataSourceRowIndex(u);
                            dttmp.ImportRow(dtSource.Rows[iRow]);
                        }
                    }

                    for (int i = 0; i < view.Columns.Count; i++)
                    {
                        if (view.Columns[i].Visible && cnt == 0)
                        {
                            col1 = view.Columns[i].Caption;
                            cnt++;
                        }
                        else if (view.Columns[i].Visible && cnt > 0)
                        {
                            col2 = view.Columns[i].Caption;
                            cnt++;
                            break;
                        }
                    }
                }
                dttmp.TableName = iloop.ToString().Trim();
                this.ds.Tables.Add(dttmp.Copy());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }