示例#1
0
 public void AddColumn(string columnName)
 {
     if (!Visible.Contains(columnName))
     {
         Visible.Add(columnName);
         ColumnAdded?.Invoke(this, columnName);
     }
 }
示例#2
0
        /// <summary>
        /// Adds a column to this outline, with optional data.
        /// Generally, row data will be provided when we are undoing an operation that deleted a column, and we
        /// want to restore all of the old data before we notify listeners about the restored column.
        /// </summary>
        /// <param name="column"></param>
        /// <param name="rowValues"></param>
        public void AddColumn(Column column, IDictionary <Row, object> rowValues = null)
        {
            if (RootRow.RowValues.ContainsKey(column))
            {
                throw new InvalidOperationException("Column already added to outline.");
            }

            foreach (var row in EachRow.Concat(new[] { RootRow }))
            {
                row.RowValues.Add(column, column.DefaultValue);
                if (rowValues != null && rowValues.TryGetValue(row, out object value))
                {
                    row.RowValues[column] = value;
                }
            }
            ColumnAdded?.Invoke(this, new ColumnAddedEventArgs(column));
        }
示例#3
0
        public void InsertColumn(int index, ChatColumn column)
        {
            columns.Insert(index, column);

            ColumnAdded?.Invoke(this, new ValueEventArgs <ChatColumn>(column));
        }