public TypedListViewDataSourceDescriptionDialogForm(TypedListViewDisplayMember tlvdm) { _tlvdm = tlvdm; InitializeComponent(); GenerateListViewItems(); }
public TypedListViewDataSourceDescriptionDialogForm(TypedListViewDisplayMember tlvdm) { _tlvdm = tlvdm; InitializeComponent(); GenerateListViewItems(); }
public TypedListView() { DataSourceDescription = new TypedListViewDisplayMember(); if (_tlvdm.Caption=="") { _tlvdm.Caption = "Item0"; } }
public TypedListView() { DataSourceDescription = new TypedListViewDisplayMember(); if (_tlvdm.Caption == "") { _tlvdm.Caption = "Item0"; } }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { TypedListViewDisplayMember obj_state = new TypedListViewDisplayMember(); //MessageBox.Show((value as TypedListViewDisplayMember).SubItems.Count.ToString()); if (value != null) obj_state = (value as TypedListViewDisplayMember).Clone(); TypedListViewDataSourceDescriptionDialogForm dsddf = new TypedListViewDataSourceDescriptionDialogForm(obj_state); DialogResult dr = dsddf.ShowDialog(); if (dr == DialogResult.OK) value = dsddf.TypedListViewDisplayMember; return value; }
private void RemoveB_Click(object sender, EventArgs e) { if (MainLV.SelectedItems[0] != MainLV.Items[0]) { _tlvdm.SubItems.Remove(MainLV.SelectedItems[0].Tag as Classes.BaseListViewItem); MainLV.SelectedItems[0].Remove(); } else if (_tlvdm.SubItems.Count == 0) { /*_tlvdm.SubItems.Remove(MainLV.SelectedItems[0].Tag as Classes.BaseListViewItem); * MainLV.SelectedItems[0].Tag = new Classes.TypedListViewDisplayMember(); * MainLV.SelectedItems[0].Text = "Item0";*/ MainLV.Items.Clear(); _tlvdm = new TypedListViewDisplayMember(); _tlvdm.Caption = "Item0"; } }
private void AddMainItemB_Click(object sender, EventArgs e) { if (MainLV.Items.Count == 0) { ListViewItem li = new ListViewItem(MainLV.Groups[0]); li.Text = string.Format("Item{0}", _itemsCount.ToString()); _itemsCount++; if (_tlvdm != null) li.Tag = _tlvdm; else { _tlvdm = new Classes.TypedListViewDisplayMember(); _tlvdm.Caption = li.Text; li.Tag = _tlvdm; } MainLV.Items.Add(li); AddMainItemB.Enabled = false; } }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { TypedListViewDisplayMember obj_state = new TypedListViewDisplayMember(); //MessageBox.Show((value as TypedListViewDisplayMember).SubItems.Count.ToString()); if (value != null) { obj_state = (value as TypedListViewDisplayMember).Clone(); } TypedListViewDataSourceDescriptionDialogForm dsddf = new TypedListViewDataSourceDescriptionDialogForm(obj_state); DialogResult dr = dsddf.ShowDialog(); if (dr == DialogResult.OK) { value = dsddf.TypedListViewDisplayMember; } return(value); }
private void AddMainItemB_Click(object sender, EventArgs e) { if (MainLV.Items.Count == 0) { ListViewItem li = new ListViewItem(MainLV.Groups[0]); li.Text = string.Format("Item{0}", _itemsCount.ToString()); _itemsCount++; if (_tlvdm != null) { li.Tag = _tlvdm; } else { _tlvdm = new Classes.TypedListViewDisplayMember(); _tlvdm.Caption = li.Text; li.Tag = _tlvdm; } MainLV.Items.Add(li); AddMainItemB.Enabled = false; } }
private void RemoveB_Click(object sender, EventArgs e) { if (MainLV.SelectedItems[0] != MainLV.Items[0]) { _tlvdm.SubItems.Remove(MainLV.SelectedItems[0].Tag as Classes.BaseListViewItem); MainLV.SelectedItems[0].Remove(); } else if (_tlvdm.SubItems.Count == 0) { /*_tlvdm.SubItems.Remove(MainLV.SelectedItems[0].Tag as Classes.BaseListViewItem); MainLV.SelectedItems[0].Tag = new Classes.TypedListViewDisplayMember(); MainLV.SelectedItems[0].Text = "Item0";*/ MainLV.Items.Clear(); _tlvdm = new TypedListViewDisplayMember(); _tlvdm.Caption = "Item0"; } }
/// <summary> /// Метод заполняющий контролсы типа ListView /// </summary> /// <param name="DataSource">Источник данных</param> /// <param name="ListViewInfo">Описание списка выводимых объектов</param> public virtual void FillListView(ListView ctrl, object DataSource, TypedListViewDisplayMember ListViewInfo) { ControlFiller.FillListView(ctrl, DataSource, ListViewInfo); }
/// <summary> /// Метод заполняющий контролсы типа ListView /// </summary> /// <param name="DataSource">Источник данных</param> /// <param name="ListViewInfo">Описание списка выводимых объектов</param> protected virtual void FillListView(object DataSource, TypedListViewDisplayMember ListViewInfo) { ControlFiller.FillListView((listControl as ListView), DataSource, ListViewInfo); }
/// <summary> /// Метод заполняющий контролсы типа ListView /// </summary> /// <param name="DataSource">Источник данных</param> /// <param name="ListViewInfo">Описание списка выводимых объектов</param> protected virtual void FillListView(object DataSource, TypedListViewDisplayMember ListViewInfo) { ControlFiller.FillListView((listControl as ListView), DataSource, ListViewInfo); }
/// <summary> /// Метод заполняющий контролс типа ListView /// </summary> /// <param name="ctrl">Сам контрол</param> /// <param name="DataSource">Источник данных</param> /// <param name="ItemDesc">Описание элементов листвью</param> public static void FillListView(ListView ctrl, object DataSource, TypedListViewDisplayMember ItemDesc) { if (ItemDesc != null) { ListViewItem li = new ListViewItem(); #region IEnumerable Case if ((DataSource is System.Collections.IEnumerable) && DataSource.GetType() != typeof(string)) { var collection = (DataSource as System.Collections.IEnumerable); foreach (var item in collection) { object text; if (/*item.GetType().GetProperty(*/ItemDesc.DisplayMember == null && ItemDesc.DataSourceName != null) { if (!item.GetType().IsClass) text = item; else { var val = item.GetType().GetProperty(ItemDesc.DataSourceName).GetValue(item, null); text = val.GetType().GetProperty(ItemDesc.DisplayMember).GetValue(val, null); } } else { if (item.GetType() != typeof(string)) text = item.GetType().GetProperty(ItemDesc.DisplayMember).GetValue(item, null); else text = item.ToString(); //--тут надо передалть и убрать тип аттрибута!!! if (ItemDesc.CustomAttributeType != null) { var custattrs = ItemDesc.CustomAttributeType.GetField(text.ToString()).GetCustomAttributes(false); if (custattrs != null) { foreach (var attr in custattrs) { var text2 = attr.GetType().GetProperty(ItemDesc.CustomAttributeValueName).GetValue(attr, null); if (text2 != null) { text = text2; break; } } } } } if (text != null) { li = new ListViewItem(text.ToString()); li.Checked = ItemDesc.Checked; if (!ItemDesc.IsDefaultSttyle()) { li.Font = ItemDesc.Font; li.ForeColor = ItemDesc.ForeColor; li.BackColor = ItemDesc.BackColor; } if (string.IsNullOrEmpty(ItemDesc.ImageIndexByFieldName)) li.ImageIndex = ItemDesc.ImageIndex; else { var im_idx = item.GetType().GetProperty(ItemDesc.ImageIndexByFieldName).GetValue(item, null); if (im_idx != null && im_idx.GetType() == typeof(int)) li.ImageIndex = (int)im_idx; } li.Tag = item; } if (ItemDesc.SubItems.Count > 0) { foreach (var subitem in ItemDesc.SubItems) { object text2 = null; if (subitem.DataSourceName != null) { if (item.GetType().GetProperty(subitem.DataSourceName) != null) { if (!item.GetType().IsClass) text2 = item; else { var val = item.GetType().GetProperty(subitem.DataSourceName).GetValue(item, null); if (val != null) text2 = val.GetType().GetProperty(subitem.DisplayMember).GetValue(val, null); } } else //--экспириметально { if (!item.GetType().IsClass) text2 = item; else { var val = item.GetType().GetProperty(subitem.DisplayMember).GetValue(item, null); if (val != null && (val.GetType() != typeof(string) & val.GetType() != typeof(DateTime) & val.GetType() != typeof(int))) text2 = val.GetType().GetProperty(subitem.DisplayMember).GetValue(val, null); else text2 = val; } } } else { text2 = item.GetType().GetProperty(subitem.DisplayMember).GetValue(item, null); if (subitem.CustomAttributeType != null) { var custattrs = subitem.CustomAttributeType.GetField(text2.ToString()).GetCustomAttributes(false); if (custattrs != null) { foreach (var attr in custattrs) { var text3 = attr.GetType().GetProperty(subitem.CustomAttributeValueName).GetValue(attr, null); if (text3 != null) { text2 = text3; break; } } } } } if (text2 != null) { ListViewItem.ListViewSubItem si = new ListViewItem.ListViewSubItem(); si.Text = text2.ToString(); if (!subitem.IsDefaultSttyle()) { si.Font = ItemDesc.Font; si.ForeColor = ItemDesc.ForeColor; si.BackColor = ItemDesc.BackColor; } li.SubItems.Add(si); } } } ctrl.Items.Add(li); } } #endregion //--надо сделать еще классами, а не только коллекции!!! #region DataTable Case if (DataSource is DataTable) { var table = (DataSource as DataTable); //--captions:cap1;cap2;cap3... } #endregion } }
/// <summary> /// Метод заполняющий контролсы типа ListView /// </summary> /// <param name="DataSource">Источник данных</param> /// <param name="ListViewInfo">Описание списка выводимых объектов</param> public virtual void FillListView(ListView ctrl, object DataSource, TypedListViewDisplayMember ListViewInfo) { ControlFiller.FillListView(ctrl, DataSource, ListViewInfo); }