コード例 #1
0
ファイル: ContainsTextFilter.cs プロジェクト: nodia/scut
 public void Filter(RowViewModel row)
 {
     if (row.Raw.IndexOf(Text, IgnoreCase ? StringComparison.InvariantCultureIgnoreCase : StringComparison.InvariantCulture) >= 0)
     {
         if (Color.HasValue)
             row.Color = Color.Value;
         row.Hidden = Hide;
     }
 }
コード例 #2
0
ファイル: RowViewModel.cs プロジェクト: nodia/scut
        public static RowViewModel Parse(ScutSettings settings, string row)
        {
            var rvm = new RowViewModel
            {
                Raw = row,
                Data = row.Split(settings.ColumnSeparator)
            };

            foreach (var filter in settings.Filters)
            {
                filter.Filter(rvm);
            }

            if (rvm.Data.Length != settings.ColumnSettings.Count)
            {
                rvm.Color = Color.DarkSalmon;
            }

            return rvm;
        }
コード例 #3
0
ファイル: ColumnSettingsForm.cs プロジェクト: nodia/scut
        private bool EvaluateGrid(RowViewModel model)
        {
            var columns = _settings.ColumnSettings;
            var data = model.Data;

            if (columns.Count < data.Length)
            {
                columns.AddRange(Enumerable.Range(1, (data.Length - columns.Count)).Select(i => new ColumnSetting{Name = "column"+i}));
                _settings.ColumnSettings = columns;

                return true;
            }

            if (columns.Count > data.Length)
            {
                columns = columns.Take(data.Length).ToList();
                _settings.ColumnSettings = columns;

                return true;
            }

            return false;
        }