private void dgvTreeItems_RowEnter(object sender, DataGridViewCellEventArgs e) { DataGridView dgv = (DataGridView)sender; if (0 == dgv.SelectedRows.Count) { return; } //ITestFolder selected = (ITestFolder)dgv.Rows[e.RowIndex].DataBoundItem; //BOL.DA.TestFolders.Open(selected); //dgvFolderPermissions.DataSource = BOL.DA.CurrentTestFolder.Permissions; ITreeItems items = (ITreeItems)dgv.DataSource; ITreeItem selected = (ITreeItem)dgv.Rows[e.RowIndex].DataBoundItem; selected.Open(); if (null != BOL.DA.CurrentFolder) { dgvFolderPermissions.DataSource = BOL.DA.CurrentFolder.Permissions; } if (null != BOL.DA.CurrentContact) { dgvContactPermissions.DataSource = BOL.DA.CurrentContact.Permissions; } }
private void tsbNewFolder_Click(object sender, EventArgs e) { ITreeItems folders = (ITreeItems)dgvTreeItems.DataSource; if (null == folders) { return; } IFolder selected = BOL.DA.CurrentFolder; //IFolder newFolder = folders.Create(selected); CurrencyManager cm = (dgvTreeItems.BindingContext[dgvTreeItems.DataSource] as CurrencyManager); //cm.Position = cm.List.IndexOf(newFolder); }
private void tvFolders_DragDrop(object sender, DragEventArgs e) { DataTreeView tv = (DataTreeView)sender; if (e.Data.GetDataPresent(typeof(DataGridViewSelectedRowCollection))) { Point clientPoint = tv.PointToClient(new Point(e.X, e.Y)); TreeNode selectedNode = tv.GetNodeAt(clientPoint); ITreeItems treeItems = (ITreeItems)dgvTreeItems.DataSource; ITreeItem selectedItem = treeItems.FirstOrDefault(i => i.IdString == selectedNode.Tag.ToString()); if (selectedItem is IFolder) { IFolder parent = selectedItem as IFolder; IContacts contacts = (IContacts)dgvContacts.DataSource; foreach (DataGridViewRow dgvr in (DataGridViewSelectedRowCollection)e.Data.GetData(typeof(DataGridViewSelectedRowCollection))) { IContact contact = (IContact)dgvr.DataBoundItem; List <ITreeItem> items = contacts.CreateLink(parent, contact); } } } }