public void fillData(string arka_id) { //funksion qe mbush te dhenat e gjendjeve nga DB this.arka_id = arka_id; this.Controls.Clear(); dtl = new DetailsListView(); dtl.Columns.Add(new ColumnHeader("Monedha")); dtl.Columns.Add(new ColumnHeader("Gjendja")); //merren gjendjet per cdo monedhe per arken e kaluar si parameter nga SQL DataTable infot = Lidhja.Kerkesat1.a.selectGjendjetByArka(arka_id).Copy(); for (int i = 0; i < infot.Rows.Count; i++) { dtl.Items.Add( new ListViewItem( new string[2] { //shtojme emertimin e monedhes dhe gjendjen per monedhen si tekste te elementit te listes infot.Rows[i].ItemArray[1].ToString(), infot.Rows[i].ItemArray[2].ToString() }) { //ID e monedhes e vendosim si emer te elementit te listes Name = infot.Rows[i].ItemArray[0].ToString() }); } dtl.Click += new EventHandler(dtl_Click); this.Controls.Add(dtl); dtl.Dock = DockStyle.Fill; }
public DetailsView() { lastDirection = ListSortDirection.Ascending; lastHeaderClicked = null; RealizedItems = new SuppressableObservableCollection <FileInfoWrapper>(); RealizedItems.SuppressChanged = true; InitializeComponent(); DetailsListView.AddHandler(Thumb.DragDeltaEvent, new DragDeltaEventHandler(Thumb_DragDelta), true); headerTemplateArrowUp = Resources["HeaderTemplateArrowUp"] as DataTemplate; headerTemplateArrowDown = Resources["HeaderTemplateArrowDown"] as DataTemplate; }
public ListViewItemCollection(DetailsListView owner) : base(owner) { m_owner = owner; }
public bool RemoveSpecifiedTab(string tabName, bool confirm) { int idx; for (idx = 0; idx < ListTab.TabPages.Count; idx++) { if (ListTab.TabPages[idx].Text == tabName) { break; } } if (_statuses.IsDefaultTab(tabName)) { return(false); } if (confirm) { string tmp = string.Format(R.RemoveSpecifiedTabText1, Environment.NewLine); var result = MessageBox.Show(tmp, string.Format("{0} {1}", tabName, R.RemoveSpecifiedTabText2), MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.Cancel) { return(false); } } SetListProperty(); // 他のタブに列幅等を反映 TabUsageType tabType = _statuses.Tabs[tabName].TabType; // オブジェクトインスタンスの削除 SplitContainer1.Panel1.SuspendLayout(); SplitContainer1.Panel2.SuspendLayout(); SplitContainer1.SuspendLayout(); ListTab.SuspendLayout(); SuspendLayout(); TabPage tabPage = ListTab.TabPages[idx]; var listCustom = (DetailsListView)tabPage.Tag; tabPage.Tag = null; tabPage.SuspendLayout(); if (ReferenceEquals(ListTab.SelectedTab, ListTab.TabPages[idx])) { ListTab.SelectTab(_prevSelectedTab != null && ListTab.TabPages.Contains(_prevSelectedTab) ? _prevSelectedTab : ListTab.TabPages[0]); } ListTab.Controls.Remove(tabPage); if (tabType == TabUsageType.PublicSearch) { Control pnl = tabPage.Controls["panelSearch"]; foreach (Control ctrl in pnl.Controls) { if (ctrl.Name == "buttonSearch") { ctrl.Click -= SearchButton_Click; } ctrl.Enter -= SearchControls_Enter; ctrl.Leave -= SearchControls_Leave; pnl.Controls.Remove(ctrl); ctrl.Dispose(); } tabPage.Controls.Remove(pnl); } tabPage.Controls.Remove(listCustom); listCustom.Columns.Clear(); listCustom.ContextMenuStrip = null; listCustom.SelectedIndexChanged -= MyList_SelectedIndexChanged; listCustom.MouseDoubleClick -= MyList_MouseDoubleClick; listCustom.ColumnClick -= MyList_ColumnClick; listCustom.DrawColumnHeader -= MyList_DrawColumnHeader; listCustom.DragDrop -= TweenMain_DragDrop; listCustom.DragOver -= TweenMain_DragOver; listCustom.DrawItem -= MyList_DrawItem; listCustom.MouseClick -= MyList_MouseClick; listCustom.ColumnReordered -= MyList_ColumnReordered; listCustom.ColumnWidthChanged -= MyList_ColumnWidthChanged; listCustom.CacheVirtualItems -= MyList_CacheVirtualItems; listCustom.RetrieveVirtualItem -= MyList_RetrieveVirtualItem; listCustom.DrawSubItem -= MyList_DrawSubItem; listCustom.HScrolled -= MyList_HScrolled; _tabDialog.RemoveTab(tabName); listCustom.SmallImageList = null; listCustom.ListViewItemSorter = null; // キャッシュのクリア if (_curTab.Equals(tabPage)) { _curTab = null; _curItemIndex = -1; _curList = null; _curPost = null; } _itemCache = null; _itemCacheIndex = -1; _postCache = null; tabPage.ResumeLayout(false); SplitContainer1.Panel1.ResumeLayout(false); SplitContainer1.Panel2.ResumeLayout(false); SplitContainer1.ResumeLayout(false); ListTab.ResumeLayout(false); ResumeLayout(false); PerformLayout(); tabPage.Dispose(); listCustom.Dispose(); _statuses.RemoveTab(tabName); foreach (TabPage tp in ListTab.TabPages) { var lst = (DetailsListView)tp.Tag; lst.VirtualListSize = _statuses.Tabs[tp.Text].AllCount; } return(true); }
private DetailsListView CreateDetailListView(string tabName, bool startup) { // TODO: tabName InitColumnText(); var colhds = new ColumnHeader[8]; // アイコン, ニックネーム, 本文, 日付, ユーザID, 未読, マーク&プロテクト, ソース var widths = new[] { 48, 80, 300, 50, 50, 16, 16, 50 }; for (var i = 0; i < colhds.Length; ++i) { colhds[i] = new ColumnHeader { Width = widths[i], Text = _columnTexts[i] }; } var listCustom = new DetailsListView { ContextMenuStrip = ContextMenuOperate, Font = _fntReaded, BackColor = _clrListBackcolor, GridLines = _configs.ShowGrid }; var sz = _iconSz > 0 ? _iconSz : 1; listCustom.SmallImageList = new ImageList { ImageSize = new Size(sz, sz) }; listCustom.Columns.AddRange(_iconCol ? new[] { colhds[0], colhds[2] } : new[] { colhds[0], colhds[1], colhds[2], colhds[3], colhds[4], colhds[5], colhds[6], colhds[7] }); var dispOrder = new int[8]; if (!startup) { for (int i = 0; i < _curList.Columns.Count; i++) { for (int j = 0; j < _curList.Columns.Count; j++) { if (_curList.Columns[j].DisplayIndex == i) { dispOrder[i] = j; break; } } } for (int i = 0; i < _curList.Columns.Count; i++) { listCustom.Columns[i].Width = _curList.Columns[i].Width; listCustom.Columns[dispOrder[i]].DisplayIndex = i; } } else { if (_iconCol) { listCustom.Columns[0].Width = _cfgLocal.Width1; listCustom.Columns[1].Width = _cfgLocal.Width3; listCustom.Columns[0].DisplayIndex = 0; listCustom.Columns[1].DisplayIndex = 1; } else { for (int i = 0; i < 8; ++i) { if (_cfgLocal.DisplayIndex1 == i) { dispOrder[i] = 0; } else if (_cfgLocal.DisplayIndex2 == i) { dispOrder[i] = 1; } else if (_cfgLocal.DisplayIndex3 == i) { dispOrder[i] = 2; } else if (_cfgLocal.DisplayIndex4 == i) { dispOrder[i] = 3; } else if (_cfgLocal.DisplayIndex5 == i) { dispOrder[i] = 4; } else if (_cfgLocal.DisplayIndex6 == i) { dispOrder[i] = 5; } else if (_cfgLocal.DisplayIndex7 == i) { dispOrder[i] = 6; } else if (_cfgLocal.DisplayIndex8 == i) { dispOrder[i] = 7; } } listCustom.Columns[0].Width = _cfgLocal.Width1; listCustom.Columns[1].Width = _cfgLocal.Width2; listCustom.Columns[2].Width = _cfgLocal.Width3; listCustom.Columns[3].Width = _cfgLocal.Width4; listCustom.Columns[4].Width = _cfgLocal.Width5; listCustom.Columns[5].Width = _cfgLocal.Width6; listCustom.Columns[6].Width = _cfgLocal.Width7; listCustom.Columns[7].Width = _cfgLocal.Width8; for (int i = 0; i < 8; i++) { listCustom.Columns[dispOrder[i]].DisplayIndex = i; } } } return(listCustom); }
public bool RemoveSpecifiedTab(string tabName, bool confirm) { int idx; for (idx = 0; idx < ListTab.TabPages.Count; idx++) { if (ListTab.TabPages[idx].Text == tabName) { break; } } if (_statuses.IsDefaultTab(tabName)) { return false; } if (confirm) { string tmp = string.Format(R.RemoveSpecifiedTabText1, Environment.NewLine); var result = MessageBox.Show(tmp, string.Format("{0} {1}", tabName, R.RemoveSpecifiedTabText2), MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.Cancel) { return false; } } SetListProperty(); // 他のタブに列幅等を反映 TabUsageType tabType = _statuses.Tabs[tabName].TabType; // オブジェクトインスタンスの削除 SplitContainer1.Panel1.SuspendLayout(); SplitContainer1.Panel2.SuspendLayout(); SplitContainer1.SuspendLayout(); ListTab.SuspendLayout(); SuspendLayout(); TabPage tabPage = ListTab.TabPages[idx]; var listCustom = (DetailsListView)tabPage.Tag; tabPage.Tag = null; tabPage.SuspendLayout(); if (ReferenceEquals(ListTab.SelectedTab, ListTab.TabPages[idx])) { ListTab.SelectTab(_prevSelectedTab != null && ListTab.TabPages.Contains(_prevSelectedTab) ? _prevSelectedTab : ListTab.TabPages[0]); } ListTab.Controls.Remove(tabPage); if (tabType == TabUsageType.PublicSearch) { Control pnl = tabPage.Controls["panelSearch"]; foreach (Control ctrl in pnl.Controls) { if (ctrl.Name == "buttonSearch") { ctrl.Click -= SearchButton_Click; } ctrl.Enter -= SearchControls_Enter; ctrl.Leave -= SearchControls_Leave; pnl.Controls.Remove(ctrl); ctrl.Dispose(); } tabPage.Controls.Remove(pnl); } tabPage.Controls.Remove(listCustom); listCustom.Columns.Clear(); listCustom.ContextMenuStrip = null; listCustom.SelectedIndexChanged -= MyList_SelectedIndexChanged; listCustom.MouseDoubleClick -= MyList_MouseDoubleClick; listCustom.ColumnClick -= MyList_ColumnClick; listCustom.DrawColumnHeader -= MyList_DrawColumnHeader; listCustom.DragDrop -= TweenMain_DragDrop; listCustom.DragOver -= TweenMain_DragOver; listCustom.DrawItem -= MyList_DrawItem; listCustom.MouseClick -= MyList_MouseClick; listCustom.ColumnReordered -= MyList_ColumnReordered; listCustom.ColumnWidthChanged -= MyList_ColumnWidthChanged; listCustom.CacheVirtualItems -= MyList_CacheVirtualItems; listCustom.RetrieveVirtualItem -= MyList_RetrieveVirtualItem; listCustom.DrawSubItem -= MyList_DrawSubItem; listCustom.HScrolled -= MyList_HScrolled; _tabDialog.RemoveTab(tabName); listCustom.SmallImageList = null; listCustom.ListViewItemSorter = null; // キャッシュのクリア if (_curTab.Equals(tabPage)) { _curTab = null; _curItemIndex = -1; _curList = null; _curPost = null; } _itemCache = null; _itemCacheIndex = -1; _postCache = null; tabPage.ResumeLayout(false); SplitContainer1.Panel1.ResumeLayout(false); SplitContainer1.Panel2.ResumeLayout(false); SplitContainer1.ResumeLayout(false); ListTab.ResumeLayout(false); ResumeLayout(false); PerformLayout(); tabPage.Dispose(); listCustom.Dispose(); _statuses.RemoveTab(tabName); foreach (TabPage tp in ListTab.TabPages) { var lst = (DetailsListView)tp.Tag; lst.VirtualListSize = _statuses.Tabs[tp.Text].AllCount; } return true; }
private DetailsListView CreateDetailListView(string tabName, bool startup) { // TODO: tabName InitColumnText(); var colhds = new ColumnHeader[8]; // アイコン, ニックネーム, 本文, 日付, ユーザID, 未読, マーク&プロテクト, ソース var widths = new[] { 48, 80, 300, 50, 50, 16, 16, 50 }; for (var i = 0; i < colhds.Length; ++i) { colhds[i] = new ColumnHeader { Width = widths[i], Text = _columnTexts[i] }; } var listCustom = new DetailsListView { ContextMenuStrip = ContextMenuOperate, Font = _fntReaded, BackColor = _clrListBackcolor, GridLines = _configs.ShowGrid }; var sz = _iconSz > 0 ? _iconSz : 1; listCustom.SmallImageList = new ImageList { ImageSize = new Size(sz, sz) }; listCustom.Columns.AddRange(_iconCol ? new[] { colhds[0], colhds[2] } : new[] { colhds[0], colhds[1], colhds[2], colhds[3], colhds[4], colhds[5], colhds[6], colhds[7] }); var dispOrder = new int[8]; if (!startup) { for (int i = 0; i < _curList.Columns.Count; i++) { for (int j = 0; j < _curList.Columns.Count; j++) { if (_curList.Columns[j].DisplayIndex == i) { dispOrder[i] = j; break; } } } for (int i = 0; i < _curList.Columns.Count; i++) { listCustom.Columns[i].Width = _curList.Columns[i].Width; listCustom.Columns[dispOrder[i]].DisplayIndex = i; } } else { if (_iconCol) { listCustom.Columns[0].Width = _cfgLocal.Width1; listCustom.Columns[1].Width = _cfgLocal.Width3; listCustom.Columns[0].DisplayIndex = 0; listCustom.Columns[1].DisplayIndex = 1; } else { for (int i = 0; i < 8; ++i) { if (_cfgLocal.DisplayIndex1 == i) { dispOrder[i] = 0; } else if (_cfgLocal.DisplayIndex2 == i) { dispOrder[i] = 1; } else if (_cfgLocal.DisplayIndex3 == i) { dispOrder[i] = 2; } else if (_cfgLocal.DisplayIndex4 == i) { dispOrder[i] = 3; } else if (_cfgLocal.DisplayIndex5 == i) { dispOrder[i] = 4; } else if (_cfgLocal.DisplayIndex6 == i) { dispOrder[i] = 5; } else if (_cfgLocal.DisplayIndex7 == i) { dispOrder[i] = 6; } else if (_cfgLocal.DisplayIndex8 == i) { dispOrder[i] = 7; } } listCustom.Columns[0].Width = _cfgLocal.Width1; listCustom.Columns[1].Width = _cfgLocal.Width2; listCustom.Columns[2].Width = _cfgLocal.Width3; listCustom.Columns[3].Width = _cfgLocal.Width4; listCustom.Columns[4].Width = _cfgLocal.Width5; listCustom.Columns[5].Width = _cfgLocal.Width6; listCustom.Columns[6].Width = _cfgLocal.Width7; listCustom.Columns[7].Width = _cfgLocal.Width8; for (int i = 0; i < 8; i++) { listCustom.Columns[dispOrder[i]].DisplayIndex = i; } } } return listCustom; }