🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / C# RMOS / treeList1 genel kullanımı ve bilgiler

1-) C# RMOS - treeList gelen bilgiler

 

     1.yol :

     string rez_id2 = treeList1.FocusedNode.GetValue("rez_id").ToString();

     2.yol :

     TreeListColumn aa = treeList1.Columns["rez_id"];

     string rez_id = treeList1.GetFocusedRowCellValue(aa).ToString();

 

 

1-) C# RMOS - treeList CellValueChange olayı

 /*

          MessageBox.Show(e.Column.FieldName);

          e.Node.SetValue("Column3", e.Value.ToString());

         */

        private void treeList1_CellValueChanged(object sender, CellValueChangedEventArgs e)

        {

 

            int index = treeList1.FocusedNode.SelectImageIndex;

            if (index == -1)

            {

                return;

            }

 

            string mesaj = "\"" + e.Column.Caption + "\" Alanını \"" + e.Value.ToString() + "\" Olarak Güncellemek İster misin ?";

 

            if (RHMesaj.MyMessageConfirmation(mesaj))

            {

                RHMesaj.MyMessage("Güncellendi");

            }

            else

            {

                RHMesaj.MyMessage("Yok");

            }

 

 

        }

 

2-) AŞAĞIDAKİ İŞLEMİ TREELİST ŞEKLİNDE GÖZÜKSÜN DİYE YAPTIM

 

 DataTable dt = dbtoolsAcentex.MyGetDataTable(sql);

            //dt.Columns.Add("Seç").SetOrdinal(0);

 

            dt.Columns.Add("rez_masterId", typeof(int)).SetOrdinal(0);

            int id = 0;

            foreach (DataRow item in dt.Rows)

            {

                //item["Seç"] = "";

 

                if (item["rez_master"].ToString().Equals("1"))

                {

                    id = Convert.ToInt32(item["rez_id"]);

                }

                else

                {

                    item["rez_masterId"] = id;

                }

            }

 

 

 

1-) C# RMOS - treeList gelen bilgiler

 

public void veriYuke(DataTable dt)

        {

 

      treeList1.OptionsView.ShowCheckBoxes = true;

            treeList1.OptionsSelection.MultiSelect = true;

 

            treeList1.OptionsView.ShowAutoFilterRow = true;

 

            treeList1.DataSource = dt;

            treeList1.OptionsView.AutoWidth = false;

            treeList1.BestFitColumns();

 

            treeviewCountYaz(treeList1);

}

 

public void treeviewCountYaz(TreeList tree)

        {

            if (tree.Nodes.Count > 0)

            {

                tree.OptionsView.ShowSummaryFooter = true;

                TreeListColumn column = tree.Columns["rez_hotel"];

                column.AllNodesSummary = true;

                column.SummaryFooterStrFormat = "{0:n0}";

                column.SummaryFooter = SummaryItemType.Count;

            }

        }

 

 // işaretlendikten sonra çalışacak metot aşağıda

 

private void treeList1_AfterCheckNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e)

        {

            foreach (TreeListNode item in e.Node.Nodes) // childleride işaretlesin diye yaptım

            {

                item.Checked = e.Node.Checked;

            }

 

            if (e.Node.ParentNode != null) // childlere tik atamasan diye yaptım

            {

                e.Node.Checked = e.Node.ParentNode.Checked;

            }

        }

 

 // seçili olanı veya checked olanları getirme aşağıdadır

 

 /*foreach (TreeListNode treeListNode in treeList1.Selection) // seçili olan satırı verir

            {

                Console.WriteLine(treeListNode.GetValue("rez_voucher"));

            }*/

 

            foreach (TreeListNode treeListNode in treeList1.GetAllCheckedNodes()) // checked olanları verir

            {

                //Console.WriteLine(treeListNode.GetValue("rez_voucher"));

                Console.WriteLine(treeListNode.GetValue("rez_id"));

            }

 

2-) treeList1

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.IO;

using System.Linq;

using System.Reflection;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApplication3

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            treeList1.DataSource = new object();

        }

        bool loadDrives = false;

        bool IsFile(DirectoryInfo info)

        {

            return (info.Attributes & FileAttributes.Directory) == 0;

        }

        private void simpleButton1_Click(object sender, EventArgs e)

        {

 

        }

 

        private void treeList1_VirtualTreeGetCellValue(object sender, DevExpress.XtraTreeList.VirtualTreeGetCellValueInfo e)

        {

            DirectoryInfo di = new DirectoryInfo((string)e.Node);

            if (e.Column == treeListColumn1)

                e.CellData = di.Name;

            if (e.Column == treeListColumn2)

            {

                if (!IsFile(di))

                    e.CellData = "Folder";

                else

                    e.CellData = "File";

            }

            if (e.Column == treeListColumn3)

            {

                if (IsFile(di))

                {

                    e.CellData = new FileInfo((string)e.Node).Length;

                }

                else e.CellData = null;

            }   

        }

 

        private void treeList1_VirtualTreeGetChildNodes(object sender, DevExpress.XtraTreeList.VirtualTreeGetChildNodesInfo e)

        {

            if (!loadDrives)

            { // create drives

                string path = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)+ "\\dosyalar"  ;

 

                string[] root = new string[1];

                root[0] = path;

                //string[] root = Directory.GetLogicalDrives();

                e.Children = root;

 

 

                loadDrives = true;

            }

            else

            {

                try

                {

                    string path = (string)e.Node;

                    if (Directory.Exists(path))

                    {

                        string[] dirs = Directory.GetDirectories(path);

                        string[] files = Directory.GetFiles(path);

                        string[] arr = new string[dirs.Length + files.Length];

                        dirs.CopyTo(arr, 0);

                        files.CopyTo(arr, dirs.Length);

                        e.Children = arr;

                    }

                    else e.Children = new object[] { };

                }

                catch { e.Children = new object[] { }; }

            }

        }

 

        private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)

        {

            string Name = treeList1.FocusedNode[treeList1.Columns["Name"]].ToString();

 

 

            MessageBox.Show(Name);

        }

    }

}

 

 

 

--------------------dosya yolu vermeden sql tarafında klasörleştirmeyi oluşturma----------------------------------

 

kaynak : https://www.youtube.com/watch?v=riXxXX9gVAc

 

 

KeyFieldName ye ID giricen

ParentFieldName ye ÜstKategori ID giricen

RootValue yi ise NULL olarak ayarlıcan

 

 

 2021 Ocak 18 Pazartesi
 433