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