C# DEVEXPRESS XTRAGRID KOLON SABITLE MENUSU

   private void gridView1_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
        {
                if (e.MenuType == GridMenuType.Column)
                {
                    GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
                    if (menu.Column != null)
                    {
                        var myMenu = new DXMenuCheckItem("Sola - Kolon Sabitle/Geri Al", menu.Column.Fixed == FixedStyle.Left, default, new EventHandler(FreezeUnfreezeColumnLeft_Click));
                        myMenu.Image = global::MYAPP.Properties.Resources.Left;        //LEFT ARROW ICON FOR myMenu.Image = Left.png

                        myMenu.BeginGroup = true;
                        myMenu.Enabled = true;
                        myMenu.Tag = menu.Column;
                        e.Menu.Items.Add(myMenu);

                        var myMenu2 = new DXMenuCheckItem("Sağa - Kolon Sabitle/Geri Al", menu.Column.Fixed == FixedStyle.Right, default, new EventHandler(FreezeUnfreezeColumnRight_Click));
                        myMenu2.Image = global::MYAPP.Properties.Resources.Right; //RIGHT ARROW ICON FOR myMenu2.Image = Right.png
                        myMenu2.BeginGroup = false;
                        myMenu2.Enabled = true;
                        myMenu2.Tag = menu.Column;
                        e.Menu.Items.Add(myMenu2);
                    }
                }
	}

        private void FreezeUnfreezeColumnLeft_Click(object sender, EventArgs e)
        {
            DXMenuCheckItem item = sender as DXMenuCheckItem;
            GridColumn info = (GridColumn)item.Tag;
            if (info is null)
                return;
            if (info.Fixed == FixedStyle.Left)
            {
                info.Fixed = FixedStyle.None;
            }
            else
            {
                info.Fixed = FixedStyle.Left;
            }

        }

    private void FreezeUnfreezeColumnRight_Click(object sender, EventArgs e)
        {
            DXMenuCheckItem item = sender as DXMenuCheckItem;
            GridColumn info = (GridColumn)item.Tag;
            if (info is null)
                return;
            if (info.Fixed == FixedStyle.Right)
            {
                info.Fixed = FixedStyle.None;
            }
            else
            {
                info.Fixed = FixedStyle.Right;
            }
        }

DEVEXPRESS XTRAGRID GROUP SUMMARY TO NEW GROUP SUMMARY

    private void GRV_FISICERIGI_CustomSummaryCalculate(object sender, DevExpress.Data.CustomSummaryEventArgs e) {
            if (!e.IsGroupSummary) return;
            if (e.SummaryProcess != CustomSummaryProcess.Finalize) return;

            var item = (GridSummaryItem)e.Item;
            switch (item.Tag) {
                case "G_DMHS":
                    if (e.IsGroupSummary) {
                        var CALISMADURUMU = int.Parse(GRV_FISICERIGI.GetGroupSummaryValue(e.GroupRowHandle, (GridGroupSummaryItem)GRV_FISICERIGI.GroupSummary["G_CALISMADURUMU"]).ToString());
                        e.TotalValue = (CALISMADURUMU - int.Parse(TE_HAFTA.Text)) * 8;
                    }
                    break;
                case "G_EMEESMADMHS":
                    if (e.IsGroupSummary) {
                        var EKMESAI = TimeSpan.Parse(GRV_FISICERIGI.GetGroupSummaryValue(e.GroupRowHandle, (GridGroupSummaryItem)GRV_FISICERIGI.GroupSummary["G_EKMESAI"]).ToString());
                        var EKSIMESAI = TimeSpan.Parse(GRV_FISICERIGI.GetGroupSummaryValue(e.GroupRowHandle, (GridGroupSummaryItem)GRV_FISICERIGI.GroupSummary["G_EKSIMESAI"]).ToString());
                        var CALISMADURUMU = int.Parse(GRV_FISICERIGI.GetGroupSummaryValue(e.GroupRowHandle, (GridGroupSummaryItem)GRV_FISICERIGI.GroupSummary["G_DMHS"]).ToString());
                        e.TotalValue = (EKMESAI - EKSIMESAI) + TimeSpan.FromHours(CALISMADURUMU);
                    }
                    break;
                case "G_EMEESMADMHSB8":
                    if (e.IsGroupSummary) {
                        var G_EMEESMADMHS = TimeSpan.Parse(GRV_FISICERIGI.GetGroupSummaryValue(e.GroupRowHandle, (GridGroupSummaryItem)GRV_FISICERIGI.GroupSummary["G_EMEESMADMHS"]).ToString());
                        e.TotalValue = (G_EMEESMADMHS.Hours + G_EMEESMADMHS.Minutes / 100.0 + G_EMEESMADMHS.Seconds / 10000.0) * (G_EMEESMADMHS > TimeSpan.Zero ? 1 : -1) / 8;

                    }
                    break;

            }
        }

C# GRIDVIEW ALTTOPLAM GUNCELLEME

        private void gridView1_CustomDrawFooterCell(object sender, DevExpress.XtraGrid.Views.Grid.FooterCellCustomDrawEventArgs e) {
            try {

                if (e.Column == GR_GECIKMIS_ALACAK_YUZDESI) {
                    double BAKIYE = double.Parse(gridView1.Columns["BAKIYE"].SummaryItem.SummaryValue.ToString());
                    double TUTAR = double.Parse(gridView1.Columns["TUTAR"].SummaryItem.SummaryValue.ToString());
                    double YORAN = Math.Round( (BAKIYE / TUTAR)*100,2);
                    GridView view = (GridView)sender;
                    e.Info.DisplayText ="%"+ YORAN.ToString();
                }

            } catch {

            }
        }

Devexpress XtraGridView büyük datada update işlemi

        public DLG_TAKVIM() {

            InitializeComponent();
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            BMS_DLL.CFGGETSET.AYARLARIYUKLE();
            gridControl1.DataSource = BMS_DLL.SQL.SELECT("select * from (SELECT dt, Ay, Gün, Hafta, Saat, Açıklama, Saat Old_Saat, Açıklama Old_Açıklama FROM BM_PDKS_TAKVIM WITH(NOLOCK)) as t");
        }
        private void GUNCELLE() {
            try {
                DataTable DT = (DataTable)gridControl1.DataSource;
                DataRow[] DT_NEW = DT.Select("(Saat <> Old_Saat) OR (Açıklama <> Old_Açıklama)");
                if (DT_NEW != null && DT_NEW.Length > 0) {
                    foreach (DataRow R in DT_NEW) {
                        DateTime _DT= (DateTime)R["dt"];
                        double SAAT = (double)R["Saat"];
                        string ACIKLAMA = (string)R["Açıklama"];
                        BMS_DLL.SQL.EXECUTE(this, "UPDATE BM_PDKS_TAKVIM SET Saat='"+ SAAT + "' , Açıklama='"+ ACIKLAMA + "' WHERE dt='"+_DT+"' ");
                    }

                }
            } catch { }
        }

Yukarıdaki kodda gridview üzerinden deişen alanları alıp(saat,açıklama) sqlde sadece bu satırları update etme işlemini yapar.

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++) {

C# DEVEXPRESS ASPXGRIDVIEW SELECTED ROWS TOTAL

protected void Button1_Click(object sender, EventArgs e)
{
    //List SelectedDebts = grid.GetSelectedFieldValues(new string[] { "FISNO", "TL_BORC" });
    //foreach (object debts in SelectedDebts)
    //{
    //    IList items = debts as IList;
    //    if (items == null) return;
    //    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["CarringtonWebConnectionString1"].ConnectionString);
    //    con.Open();
    //    SqlCommand cmd = new SqlCommand("update ACIKHESAP set ODEME_DURUMU=1, ODENEN_TUTAR=" + items[1].ToString() + " where ID=" + items[0].ToString(), con);
    //    cmd.ExecuteNonQuery();
    //    Labeltesekkurler.Visible = true;
    //}


    //List SelectedDebts = grid.GetSelectedFieldValues(new string[] { "FISNO", "TL_BORC" });
    Decimal selectedTUTAR = 0;
    foreach (object value in ASPxGridView2.GetSelectedFieldValues("TL_BORC"))
    {
        {
            selectedTUTAR += Convert.ToDecimal(value);
        }

    }

    Global.TUTAR = null;
    Global.TUTAR = selectedTUTAR.ToString();
    Server.Transfer("payment.aspx");

}

visual studio asp datasource olarak xmli kullanmak

new empty web project
insert new web page adı index.aspx
insert new item xml
içine :

  <Student
    StudentID=”1″
    FirstName=”A”
    LastName=”AA”
    TotalMarks=”100″>
 
  <Student
    StudentID=”2″
    FirstName=”B”
    LastName=”BB”
    TotalMarks=”200″>
 
  <Student
    StudentID=”3″
    FirstName=”C”
    LastName=”CC”
    TotalMarks=”500″>
 
  <Student
    StudentID=”4″
    FirstName=”D”
    LastName=”DD”
    TotalMarks=”700″>
 

ve gridview at ve datasource xmlden xml dosyasını seç

ASPXGRIDVIEW İşlemleri

Gridviewde seçili satırın bilgisini alabilme :
        protected void ASPxGridView1_SelectionChanged(object sender, EventArgs e)
        {
            var products = ASPxGridView1.GetSelectedFieldValues(“NAME”);
            Label1.Text = products[0].ToString();
        }

Gridviewin Sonuna İşlemler Seç eklemek için source da sona ekle
           
               
           
       
   

Gridview devexpress 7.2 sonrası için gecerli export Gridview
un altina ekle
 

un ustune ekle
        <Toolbars>
            <dx:GridViewToolbar EnableAdaptivity=“true”>
                <Items>
                    <dx:GridViewToolbarItem Command=“ExportToPdf” />
                    <dx:GridViewToolbarItem Command=“ExportToXls” />
                    <dx:GridViewToolbarItem Command=“ExportToXlsx” />
                    <dx:GridViewToolbarItem Command=“ExportToDocx” />
                    <dx:GridViewToolbarItem Command=“ExportToRtf” />
                    <dx:GridViewToolbarItem Command=“ExportToCsv” />
                </Items>
            </dx:GridViewToolbar>
        </Toolbars>


Gridview grup category combobox ve baglantisi 
birinci sqldatasource_musteriler yarat ve bunu aspxgridviewe bind
Ikinci datasource sqldatasource_musterigruplari  yarat  bu bir yere bind olmayacak

Sqlden iki tablo yarat birinin adi musteri(id,adi,grupid) olsun
digeride musteri_grup (id,grup_adi) olsun

aspxgridview designerda columnsa tikla combobox column ekle captionunu grup yap, Fieldname grupid sec, sag tabda comboboxpropertiesde datasourceid musteri_gruplarini sec text field grup_adi , valuefield=id 


Gridview Horizontal scrollbar 

   

       

       

       

Datasource eklemede hata alırsan sol taraftan server explorerden modify deyip save passwordu seç


Gridview  Required zorunlu alan ayari
Designerda ac ve columnsdan zorunlu alana tıkla ve sağda textboxpropertiesden en aşağıda validation settingste requiredi true yap

Master Detail Grid
ONCE 2 TANE SQLDATASOURCE VE 2 TANE ASPXGRIDVIEW YARAT BIRI MUSTERILER DIGERI MUSTERI HAREKETLER
MUSTERILERI NORMAL TABLODAN AL ASPXGRIDVIEW MUSTERILERIN SETTINGS DETAILDE DETAILROWU TRUE YAP,

MUSTERI HAREKETLERINIDE AL WHERE KISMINA TIKLA COLUMN MUSTERI_ID OPERATOR ” = ”  , SOURCE SESSION , SESSION FIELD = MUSTERI_ID

VE DAHA SONRA KODA EKLE
        protected void ASPxGridViewmusterihareketler_BeforePerformDataSelect(object sender, EventArgs e)
        {
            Session[“MUSTERI_ID”] = (sender as ASPxGridView).GetMasterRowKeyValue();
        }

SON OLARAKDA ASPXGRIDVIEWMUSTERILERE TIKLA EDITTEMPLATE VE DETAILROWU SEC VE ASPXGRIDMUSTERIHAREKETLERINI ICINE SURUKLE VE END TEMPLATE YAP


Gridviewda son kolumun genişliğini max yapmak
       
           
           
           
               
           
            <dx:GridViewDataTextColumn FieldName="ADI" VisibleIndex="2" Width=”100%”>
           
       


gridview detay masterda detay width sorunu once masterin altina ekle :
    <dx:ASPxGridView Width=”100%” 
       
       

sonra masterin son colomunun widthini %100 yap
 

sonra detaya ekle
   <dx:ASPxGridView2 Width=”100%”