Jump to content
TNC-TR
korasoglu

Gridcontrol Checkbox Columns Select

Recommended Posts

Arkadaşlar gridcontrol de secilen satırları nasıl alabilirim

 

RepositoryItemCheckEdit chxEdit = new RepositoryItemCheckEdit();
            DevExpress.XtraGrid.Columns.GridColumn gc = new DevExpress.XtraGrid.Columns.GridColumn();
            gridView1.Columns.Add(gc);
            gc.Caption = "Seç";
            //gc.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False;
            gc.OptionsColumn.AllowEdit = true;
            gc.VisibleIndex = 0;
            gc.OptionsColumn.AllowSize = true;
            // gc.UnboundType = DevExpress.Data.UnboundColumnType.Boolean;
            // chxEdit.NullStyle = DevExpress.XtraEditors.Controls.StyleIndeterminate.Unchecked;
            chxEdit.CheckStyle = CheckStyles.Standard;
            //  chxEdit.ValueChecked = true;
            //  chxEdit.ValueUnchecked = false;
            gc.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            gc.AppearanceHeader.Options.UseFont = true;
            gc.AppearanceHeader.Font = new System.Drawing.Font("Tahoma", 9);
            gc.ColumnEdit = chxEdit;
            gridView1.Columns[0].Width = 15;
            gridView1.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect;
            gridView1.OptionsSelection.MultiSelect = true;
            gridView1.Columns[0].MaxWidth = 30;

Share this post


Link to post
Share on other sites

Bilgisayardan bakarsam ancak bilgi verebilirim uzaktayım şu anda kusura bakma.

LG-H850 cihazımdan Tapatalk kullanılarak gönderildi

Share this post


Link to post
Share on other sites
Alıntı

LG-H850 cihazımdan Tapatalk kullanılarak gönderildi

Senin LG-H850 Cihazı çok mereak ettim hiç normal göndermiyor

Share this post


Link to post
Share on other sites

Şöyle bişey yazdım deneyebilirsin.

	foreach(DataGridViewRow item in gridView1.SelectedRows)
            {
                //item.Index ile indexini alırsın
	// tem.Cells[0].ToString() 0. kolonun içeriği olması lazım
            }
	

Share this post


Link to post
Share on other sites

Chekcbox olan satırı mı okuyacaz sadece yoksa hepsini mi

LG-H850 cihazımdan Tapatalk kullanılarak gönderildi


Share this post


Link to post
Share on other sites

@Extended senin verdiğin kod dataGridView için, arkadaşın istediği Devexpress GridControl için. @xmen14 evet satırdaki hücre değerini okumanız gerekiyor. 

// repositoryItem'in seçili value'sinin alacağı değer true olarak ayarlanmış
chxEdit.ValueChecked = true;

// ona göre işlem yapalım
for (int i = 0; i < gridView1.RowCount; i++)
{
    string deger = gridView1.GetRowCellDisplayText(i, gridView.Columns[0]);
    bool secilimi Convert.ToBoolean(deger);
	if (secilimi == true)
	{
		// satır seçili
	}
}

 

Share this post


Link to post
Share on other sites

Hocam

 bool secilimi Convert.ToBoolean(deger);
	if (secilimi == true)

bu satırları çizdi bir örnek verebilirseniz sevinirim

Share this post


Link to post
Share on other sites

chxEdit.ValueChecked = true;

yaptığınız için gelen değeri Boolean türüne çevirmeniz lazım ki seçili mi seçili değil mi anlayabilesiniz. Yapamazsanız Pm ile team bilgileri gönderin bakalım

Share this post


Link to post
Share on other sites

Hocam illa bu örnek diye takılma ben checkbox columns ekleme ve eklenen o sütündaki seçilen satırları bilmek veya indexini istiyorum.

ali.Columns.Add("id"); ali.Columns.Add("ad"); isa.Columns.Add("avci");
            for (int i = 0; i < 10; i++)
            {
                isa.Rows.Add(i);
            }
            isa.Columns.Add(new DataColumn("OK", Type.GetType("System.Boolean")));
            gridControl1.DataSource = isa;

 

private void button1_Click(object sender, EventArgs e)
        {
            string value = ""; ali.Rows.Clear(); dataGridView1.DataSource = null; dataGridView1.Rows.Clear(); dataGridView1.Columns.Clear();
            for (int i = 0; i < gridView1.RowCount; i++)
            {
                value = gridView1.GetDataRow(i)["OK"].ToString();
                if (value.ToString() == "True")
                {
                    ali.Rows.Add(i, gridView1.GetRowCellValue(i, "avci").ToString());
                    dataGridView1.DataSource = ali;
                }
            }
        }

Share this post


Link to post
Share on other sites

GridControlCheckBoxColumn.zip

staRiQu2Tyi3_7xyDVN5Iw.png

XejQRCDdQw2RC1cSxeBtlQ.png

iodIcZdLTGG1BaU3QpbiiA.png

Kısaca bu şekilde halledebilirsiniz. Run Designer a girip InPlace Editor den checkbox eklemeyi unutmayın.

Edited by pairs

Share this post


Link to post
Share on other sites

pairs örnek bende açılmadı

Hata.rar

 

Riibon panele buton ekleyip denedim seçilenleri bir eksik veriyor ama normal butonda doğru veriyor

DXApplication1.rar

Edited by korasoglu

Share this post


Link to post
Share on other sites

Devexpress ile alakalı bir hata bu. Muhtemelen aynı sürüm değiller. Yukarıdaki devexpress sekmesinden project converter ı seçip projeyi çevirirsen duzelir.

Share this post


Link to post
Share on other sites

pairs hata nerede bir bakarsan sevinirim

 

Daha önceki denemelerimde de aynı sorunla karşılaşmıştım.

Ribbon eklemeden önce  seçilenleri aldım ribbon ekleyip denedim o zamanda aynısı olmuştu bir püf noktası oması gerek ama ne...

Share this post


Link to post
Share on other sites

Sevgili pairs bu hatadanmı bahsediyorsun

Riibon panele buton ekleyip denedim seçilenleri bir eksik veriyor ama normal butonda doğru veriyor

Share this post


Link to post
Share on other sites

Ben gridcontrol için dediğiniz hatadan bahsettim . diğer probleminiz nedir bilmiyorum.

Share this post


Link to post
Share on other sites

hata rarda örnek proje var ribbon paneldeki buton aracılığıyla seçili kontrol ettinmi hatalı normal butonla yaptınmı doğru veriyor saçma bir hata inceleme şansın olursa çok sevinirim.

Sonuç olarak aynı kod farklı sonuç veriyor

Share this post


Link to post
Share on other sites

teamviewer yada başka bir programla bağlantı gönderirseniz bakabilirim.

Share this post


Link to post
Share on other sites

Arkadaşlar multiselect = true ve  multiselectmode = CheckBoxRowSelect tüm sütün seçilebiliyor ben seçili satırları nasıl alabilirim.

Share this post


Link to post
Share on other sites

Arayanlar olursa çözümü arkadaşlar

void Liste()
        {
            ArrayList rows = new ArrayList();
            Int32[] selectedRowHandles = gridView1.GetSelectedRows();
            for (int i = 0; i < selectedRowHandles.Length; i++)
            {
                int selectedRowHandle = selectedRowHandles;
                if (selectedRowHandle >= 0)
                    rows.Add(gridView1.GetDataRow(selectedRowHandle));
            }
            try
            {
                gridView1.BeginUpdate();
                for (int i = 0; i < rows.Count; i++)
                {
                    DataRow row = rows as DataRow;
                     MessageBox.Show(row["Satir"].ToString());
                }
            }
            finally
            {
                gridView1.EndUpdate();
            }
        }

Share this post


Link to post
Share on other sites
korasoglu, 02.07.2018 - 16:00 yazdı:

int selectedRowHandle = selectedRowHandles;

Array bir integer ı normal integer değişkene nasıl atadın.

Share this post


Link to post
Share on other sites

Çalışıyor peki doğrusu nasıl olmalıdır netice konuya hakim olsam soru sormam ama uzun yoldandan sonuca vardı fakat daha basit yapılabilmesi lazım. Proje iş yerinde yarın atarım.

Sevgili pairs şimdi tekrar baktım seçilen satirlerın int değerleri depolanıyor yani mantık doğru değilmi.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×