Example #1
0
 /// <summary>
 /// Helps quickly add new columns to a DataView
 /// </summary>
 /// <param name="_h">Header</param>
 /// <param name="_b">Binding</param>
 /// <returns>DataGridTextColumn</returns>
 public static System.Windows.Controls.DataGridTextColumn newColumn(string _header, string _binding)
 {
     System.Windows.Controls.DataGridTextColumn newCol = new System.Windows.Controls.DataGridTextColumn();
     newCol.Header  = _header;
     newCol.Binding = new System.Windows.Data.Binding(_binding);
     return(newCol);
 }
Example #2
0
        public T Search(string searchText)
        {
            _firstShow = true;

            _View             = new SearcherView();
            _View.Owner       = Owner;
            _View.DataContext = this;
            _View.Topmost     = true;

            SetKeyBindings();

            int index = 0;

            foreach (var col in _DataGridColumnsNamesBinding)
            {
                var style = new Style();
                style.Setters.Add(new Setter(System.Windows.Controls.TextBlock.TextAlignmentProperty, (TextAlignment)col.TextAlignment));

                var headerStyle = new Style(typeof(System.Windows.Controls.Primitives.DataGridColumnHeader));

                var hAligment = new HorizontalAlignment();
                switch (col.TextAlignment)
                {
                case SearcherTextAlignment.Left:
                    hAligment = HorizontalAlignment.Left;
                    break;

                case SearcherTextAlignment.Right:
                    hAligment = HorizontalAlignment.Right;
                    break;

                case SearcherTextAlignment.Center:
                    hAligment = HorizontalAlignment.Center;
                    break;

                case SearcherTextAlignment.Justify:
                    hAligment = HorizontalAlignment.Stretch;
                    break;
                }

                headerStyle.Setters.Add(new Setter(System.Windows.Controls.Control.HorizontalContentAlignmentProperty, hAligment));

                var datagridCol = new System.Windows.Controls.DataGridTextColumn()
                {
                    Header     = col.HeaderName,
                    IsReadOnly = true,
                    Binding    = new Binding(col.PropertyName)
                };
                datagridCol.Binding.StringFormat = col.StringFormat;
                datagridCol.CellStyle            = style;
                datagridCol.HeaderStyle          = headerStyle;

                if (index == (_DataGridColumnsNamesBinding.Count - 1))
                {
                    datagridCol.Width = new System.Windows.Controls.DataGridLength(100, System.Windows.Controls.DataGridLengthUnitType.Star);
                }

                _View.SearchItemsDataGridView.Columns.Add(datagridCol);

                index++;
            }

            this.SearchText = searchText;

            _Search();

            _View.AllowsTransparency = true;
            _View.Opacity            = 0;
            //_View.ShowInTaskbar = false;

            _View.ShowDialog();

            return(CurrentItem);
        }