C# excel dxgridview fast load

//DXGRIDVIEW EXCEL ACMA HIZLI
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using Excel;
using System;
using System.Data;
using System.IO;
using System.Windows.Forms;
//F:\googledrive\programming\csharp içinde iki adet dll var  Excel.dll  ve ICSharpCode.SharpZipLib.dll referans olarak ekle




        public void SET_GC_DATASOURCE(DataTable DT, string GVNAME){
            try
            {
                if (DT == null || DT.Rows.Count <= 0)
                    throw new Exception("EXCEL VERİLERİ OKUNAMADI.");
                gridControl1.DataSource = DT;
                gridControl1.RefreshDataSource();
                gridControl1.Refresh();
                INITIALIZE_GRID(gridControl1, gridView1, new GRIDOPTIONS() { ALLOWSORT = true, CLEARSORTINFO = true, ENABLEGROUPPANELMENU = true, HORIZONTALSCROOLVISIBILITY = true, SHOWGROUPPANEL = true }, GVNAME);
                //for (int i = 0; i < COLUMNS.Length / 2; i++)
                //{
                //    _gv_EKSTRE.Columns[i].Caption = (string)COLUMNS[i, 0];
                //    _gv_EKSTRE.Columns[i].Visible = (bool)COLUMNS[i, 1];
                //}

            }
            catch (Exception E)
            {

                MessageBox.Show(E.Message, "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Error);

            }
        }



    public string READ_FILE(string title){
            try
            {
                string[] fileformats = new string[] { "xls", "xlsx" };
                OpenFileDialog openFileDialogEKSTRE = new OpenFileDialog();
                openFileDialogEKSTRE.Title = title;
                //openFileDialogEKSTRE.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);//@"C:\Users\BilMark Yazılım\Desktop";//AppDomain.CurrentDomain.BaseDirectory;
                string filterText = string.Empty;
                for (int i = 0; i < fileformats.Length; i++)
                {
                    filterText += "(*." + fileformats[i] + "*)|*." + fileformats[i];
                    if (i != fileformats.Length - 1)
                        filterText += "|";
                }
                openFileDialogEKSTRE.Filter = "Excel Files|*.xls;*.xlsx;";
                //openFileDialogEKSTRE.FileName = "1001.xlsx";
                openFileDialogEKSTRE.FilterIndex = 0;
                openFileDialogEKSTRE.RestoreDirectory = true;

                if (openFileDialogEKSTRE.ShowDialog() == DialogResult.OK)
                {
                    return openFileDialogEKSTRE.FileName;
                }
                else return "closed";
            }
            catch (Exception E)
            {

                return null;
            }
        }





      public DataTable CONVERT_EXCEL_TO_DATATABLE(bool ISXLSX, bool ISFIRSTROWCOLUMNNAME, string PATH, int RETURNEDTABLENR){
            FileStream stream = File.Open(PATH, FileMode.Open, FileAccess.Read);
            IExcelDataReader excelReader = null;

            if (ISXLSX)
                excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
            else
                excelReader = ExcelReaderFactory.CreateBinaryReader(stream);

            excelReader.IsFirstRowAsColumnNames = ISFIRSTROWCOLUMNNAME;

            DataSet result = excelReader.AsDataSet();

            ////5. Data Reader methods
            //while (excelReader.Read())
            //{
            //    //excelReader.GetInt32(0);
            //}

            excelReader.Close();

            return result.Tables[RETURNEDTABLENR];}





       public void INITIALIZE_GRID(GridControl GC, GridView GV, GRIDOPTIONS GO, string XMLLAYOUTNAME){

            try
            {
                RESTORE_GRIDVIEW_LAYOUTS(GV, XMLLAYOUTNAME);
                //GV.RestoreLayoutFromXml(AppDomain.CurrentDomain.BaseDirectory + "\\Layouts\\" + XMLLAYOUTNAME + ".xml");
                if (GO.CLEARSORTINFO)
                    GV.SortInfo.Clear();
                GV.ClearColumnsFilter();
                GV.FocusedRowHandle = 0;
            }
            catch { }

            GV.OptionsBehavior.Editable = GO.EDITABLE;
            GV.OptionsBehavior.AllowAddRows = GO.ALLOWADDROW ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
            GV.OptionsBehavior.AllowDeleteRows = GO.ALLOWDELETEROW ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;

            GV.OptionsCustomization.AllowFilter = GO.ALLOWFILTER;
            GV.OptionsCustomization.AllowQuickHideColumns = GO.ALLOWQUICKHIDECOLUMNS;
            GV.OptionsCustomization.AllowSort = GO.ALLOWSORT;

            GV.OptionsMenu.EnableColumnMenu = GO.ENABLECOLUMNMENU;
            GV.OptionsMenu.EnableFooterMenu = GO.ENABLEFOOTERMENU;
            GV.OptionsMenu.EnableGroupPanelMenu = GO.ENABLEGROUPPANELMENU;

            GV.OptionsSelection.MultiSelect = GO.MULTISELECT;
            if (GO.MULTISELECTMODECELLSELECT)
                GV.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CellSelect;
            else if (GO.MULTISELECTMODECHECKBOXSELECT)
                GV.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect;
            else if (GO.MULTISELECTMODEWORSELECT)
                GV.OptionsSelection.MultiSelectMode = GridMultiSelectMode.RowSelect;

            GV.OptionsView.ColumnAutoWidth = GO.COLUMNAUTOWIDTH;
            GV.OptionsView.ShowAutoFilterRow = GO.SHOWAUTOFILTERROW;
            GV.OptionsView.ShowGroupPanel = GO.SHOWGROUPPANEL;
            GV.OptionsView.ShowFilterPanelMode = GO.SHOWFILTERPANELMODE ? DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.ShowAlways : DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Default;}





     public void RESTORE_GRIDVIEW_LAYOUTS(GridView GV, string XMLLAYOUTNAME){
            try
            {
                GV.RestoreLayoutFromXml(AppDomain.CurrentDomain.BaseDirectory + "\\Layouts\\" + XMLLAYOUTNAME + ".xml");
            }
            catch { }}




public class GRIDOPTIONS{
        #region OPTIONSBEHAVIOR
        public bool EDITABLE { get; set; }
        public bool ALLOWADDROW { get; set; }
        public bool ALLOWDELETEROW { get; set; }
        #endregion

        #region OPTIONSCUSTOMIZATION
        public bool ALLOWFILTER { get; set; }
        public bool ALLOWSORT { get; set; }
        public bool ALLOWQUICKHIDECOLUMNS { get; set; }
        #endregion

        #region OPTIONSMENU
        public bool ENABLECOLUMNMENU { get; set; }
        public bool ENABLEGROUPPANELMENU { get; set; }
        public bool ENABLEFOOTERMENU { get; set; }
        #endregion

        #region OPTIONSSELECTION
        public bool MULTISELECT { get; set; }
        public bool MULTISELECTMODECELLSELECT { get; set; }
        public bool MULTISELECTMODECHECKBOXSELECT { get; set; }
        public bool MULTISELECTMODEWORSELECT { get; set; }
        #endregion

        #region OPTIONSVIEW
        public bool COLUMNAUTOWIDTH { get; set; }
        public bool SHOWGROUPPANEL { get; set; }
        public bool SHOWAUTOFILTERROW { get; set; }
        public bool SHOWFILTERPANELMODE { get; set; }
        #endregion

        #region BEHAVIOR
        public bool HORIZONTALSCROOLVISIBILITY { get; set; }
        #endregion

        public bool CLEARSORTINFO { get; set; }
        public bool CLEARFILTERINFO { get; set; }}




        private void simpleButton1_Click(object sender, EventArgs e){
            gridControl1.DataSource = null;
            gridView1.Columns.Clear();
            string  FILEPATH = READ_FILE("gridView1");
            SET_GC_DATASOURCE(CONVERT_EXCEL_TO_DATATABLE(true, true, FILEPATH, 0), "gridView1");}

c# devexpress gridview selectedrow to datatable dataset

            DataTable MyTable = new DataTable(); // 1
            DataTable MyTableByName = new DataTable("MyTableName"); // 2




            MyTable.Columns.Add("AMBAR", typeof(string));

            int[] SROWSdublicate = _gv_SARFFISI_.GetSelectedRows();
            for (int i = 0; i < SROWSdublicate.Length; i++)
            {
                MyTable.Rows.Add(_gv_SARFFISI_.GetRowCellValue(SROWSdublicate[i], "Ambar").ToString());
                //dr["AMBAR"] = _gv_SARFFISI_.GetRowCellValue(SROWSdublicate[i], "Ambar").ToString();
                //dt.Rows.Add(new object[] { "Ravi", 500 });
                // dt.Rows.Add(dr);

            }              

whole grid rows (without select)

for (int i = 0; i < gridView1.RowCount; i++) {

datatable to list convert

   public class MOBILEUSER
    {
        public int LOGICALREF { get; set; }
        public int CAPIUSERREF { get; set; }
        public string NAME { get; set; } = string.Empty;
        public string KEY_ { get; set; } = string.Empty;
        public string DEFINITION_ { get; set; }
        public int SLSMANREF { get; set; }
        public string SLSMANCODE { get; set; } = string.Empty;
        public string FCMREGID { get; set; } = string.Empty;
        public int CONFTYPE { get; set; }
        public double CONF_SAMOUNT { get; set; }
        public double CONF_FAMOUNT { get; set; }
        public double CONF_SPERCENT { get; set; }
        public double CONF_FPERCENT { get; set; }
        public short ACTIVE { get; set; }
        public string NTF_ORFICHEREF { get; set; } = string.Empty;
        public string NTF_ORFICHENO { get; set; } = string.Empty;
    }   




   private List GET_MOBILEUSER_LIST()
        {
            List MUL = new List();
            try
            {
                DataTable DT = sqlLGDB.ExecuteDataSet(new SqlCommand(string.Format("SELECT * FROM BM_MOBILEUSER WHERE ACTIVE = 0"))).Tables[0];
                foreach (DataRow R in DT.Rows)
                {
                    MOBILEUSER U = new MOBILEUSER();
                    try { U.LOGICALREF = (int)R["LOGICALREF"]; } catch { }
                    try { U.CAPIUSERREF = (int)R["CAPIUSERREF"]; } catch { }
                    try { U.NAME = (string)R["NAME"]; } catch { }
                    try { U.KEY_ = (string)R["KEY_"]; } catch { }
                    try { U.DEFINITION_ = (string)R["DEFINITION_"]; } catch { }
                    try { U.SLSMANREF = (int)R["SLSMANREF"]; } catch { }
                    try { U.SLSMANCODE = (string)R["SLSMANCODE"]; } catch { }
                    try { U.FCMREGID = (string)R["FCMREGID"]; } catch { }
                    try { U.CONFTYPE = (int)R["CONFTYPE"]; } catch { }
                    try { U.CONF_SAMOUNT = (double)R["CONF_SAMOUNT"]; } catch { }
                    try { U.CONF_FAMOUNT = (double)R["CONF_FAMOUNT"]; } catch { }
                    try { U.CONF_SPERCENT = (double)R["CONF_SPERCENT"]; } catch { }
                    try { U.CONF_FPERCENT = (double)R["CONF_FPERCENT"]; } catch { }
                    try { U.ACTIVE = (short)R["ACTIVE"]; } catch { }
                    MUL.Add(U);
                }

            }
            catch (Exception E)
            {
                WRITELOG("GET_MOBILEUSER_LIST", E, false);
            }
            return MUL;
        }

VISUAL STUDIO C# DLL CLASS YORUM EKLEMEK

Önce dll projesinde debug project propertiesde build ekranında XML documantion filei tikle
ve methodların üzeirne bunu yazınca otomatik tanımlanır ///
ve gerekeni içine yaz
Ör:
 

burdaki para ayrı satır anlamındadır

      ///




        /// Aciklama: Önce ana projeye add devitem Progress Indicator ekle adını PROGRESSFORM yap
        /// Ornek Kod:BMS_DLL.DX.SPLASHSCREENBASLA(typeof(PROGRESSFORM), this, "test");
        ///

        public static void SPLASHSCREENBASLA(Type _PROGRESSFORM, Form _this, string _NEYAPILIYOR)
        {
            try
            {
                SplashScreenManager.ShowForm(_this, _PROGRESSFORM , true, true, false);
                SplashScreenManager.Default.SetWaitFormCaption(_NEYAPILIYOR);
                SplashScreenManager.Default.SetWaitFormDescription("");
            }
            catch { }
        }

VISUAL STUDIO C# SQL SERVER CONNECTION HELPER

using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;




namespace BMS_PDKS
{
    public class SQLHELPER
    {
        string baglanticumlesi = string.Format("Server={0}; Database={1}; User Id ={2};Password ={3}", CFG_TEMPLATE.CONFIG.LGDBSERVER, CFG_TEMPLATE.CONFIG.LGDBDATABASE, CFG_TEMPLATE.CONFIG.LGDBUSERNAME, CFG_TEMPLATE.CONFIG.LGDBPASSWORD);
        SqlConnection con;
        SqlDataAdapter adtr;
        public SqlConnection baglanti()
        {
            con = new SqlConnection(baglanticumlesi);
            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }
            return con;
        }
        //public DataTable veri_getirme(string sqlcumle, DevExpress.XtraGrid.GridControl dtgrd)
        public DataTable GET_B_CAPIFIRM(GridControl dtgrdc,GridView dtgrdv)
        {
            DataTable dt = new DataTable();
            dtgrdv.Columns.Clear();
            try
            {
                using (adtr = new SqlDataAdapter("select * from B_CAPIFIRM", baglanti()))
                { adtr.Fill(dt); dtgrdc.DataSource = dt; }
            }
            catch (System.Exception ex) { MessageBox.Show(ex.Message); }
            return dt;
        }
        public DataTable GET_B_CAPIUSER(GridControl dtgrdc, GridView dtgrdv)
        {
            DataTable dt = new DataTable();
            dtgrdv.Columns.Clear();
            try
            {
                using (adtr = new SqlDataAdapter("select * from B_CAPIUSER", baglanti()))
                { adtr.Fill(dt); dtgrdc.DataSource = dt; }
            }
            catch (System.Exception ex) { MessageBox.Show(ex.Message); }
            return dt;
        }

    }
}

--


DAHA SONRA ANA FORMDA DEVEXPRESS GRIDVIEW YARAT VE ŞU ŞEKİLDE ÇAĞIR:


        SQLHELPER sqlhelper = new SQLHELPER();


        private void button1_Click(object sender, EventArgs e)
        {
            sqlhelper.GET_B_CAPIFIRM( gridControl1,gridView1);
        }
        private void button2_Click(object sender, EventArgs e)
        {
            sqlhelper.GET_B_CAPIUSER(gridControl1, gridView1);
        }


C# SQL E TARIH AKTARIM UYGUN FORMAT

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")




devexpress datetime component automove to next için
masktype 2 tane var ikisinde datetimeadvancingcaret yap

        public Form1()
        {
            InitializeComponent();
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;












ercanın kodlarda
            CultureInfo tr = new CultureInfo("tr-TR");

            Thread.CurrentThread.CurrentCulture = tr;

devexpress splash screen

            SplashScreenManager.ShowForm(this, typeof(PROGRESSFORM), true, true, false);
            SplashScreenManager.Default.SetWaitFormCaption("LÜTFEN BEKLEYİN.");
            SplashScreenManager.Default.SetWaitFormDescription("");




------İŞLEMLER

            SplashScreenManager.CloseForm(false);
            MessageBox.Show("TAMAMLANDI", "", MessageBoxButtons.OK, MessageBoxIcon.Information);