public TypedListViewDataSourceDescriptionDialogForm(TypedListViewDisplayMember tlvdm)
        {
            _tlvdm = tlvdm;
            InitializeComponent();

            GenerateListViewItems();
        }
        public TypedListViewDataSourceDescriptionDialogForm(TypedListViewDisplayMember tlvdm)
        {
            _tlvdm = tlvdm;
            InitializeComponent();

            GenerateListViewItems();
        }
Ejemplo n.º 3
0
 public TypedListView()
 {
     DataSourceDescription = new TypedListViewDisplayMember();
     if (_tlvdm.Caption=="")
     {
         _tlvdm.Caption = "Item0";
     }
 }
Ejemplo n.º 4
0
 public TypedListView()
 {
     DataSourceDescription = new TypedListViewDisplayMember();
     if (_tlvdm.Caption == "")
     {
         _tlvdm.Caption = "Item0";
     }
 }
Ejemplo n.º 5
0
        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;
     }
 }
Ejemplo n.º 8
0
        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";
     }
 }
Ejemplo n.º 11
0
 /// <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);
 }
Ejemplo n.º 12
0
 /// <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);
 }
Ejemplo n.º 13
0
 /// <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);
 }
Ejemplo n.º 14
0
        /// <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
            }
        }
Ejemplo n.º 15
0
 /// <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);
 }