using System;
using System.Windows.Forms;
namespace DelftTools.Controls
{
///
/// A column in a ITableView
///
public interface ITableViewColumn : IDisposable
{
///
/// The name of the column
///
string Name { get; }
///
/// The visibility of the column
///
bool Visible { get; set; }
///
/// Editor used to edit values in the column.
///
ITypeEditor Editor { get; set; }
///
/// The caption of the column
///
string Caption { get; set; }
///
/// Index used for display
///
int DisplayIndex { get; set; }
///
/// Determines if the column can be modified
///
bool ReadOnly { get; set; }
///
/// Can this column be used for sorting
///
bool SortingAllowed { get; set; }
///
/// The type of ordering () that is used for this column
///
SortOrder SortOrder { get; set; }
///
/// Get or set column filter. Use a syntax like "[Naam] = 'kees'"
///
string FilterString { get; set; }
///
/// Index of the column in the datasouce
///
int AbsoluteIndex { get; }
///
/// The type of data that the column contains
///
Type ColumnType { get; }
///
/// String to display as tooltip
///
string ToolTip { get; set; }
///
/// Width of this column
///
int Width { get; set; }
///
/// Allows to override the way cell text is rendered.
///
ICustomFormatter CustomFormatter { get; set; }
///
/// Sets the display format of the column. For example c2, D or AA{0}
/// If CustomFormatter is used then this property is skipped.
///
string DisplayFormat { get; set; }
///
/// Makes column frozen (column does not move during scrolling)
///
bool Pinned { get; set; }
bool IsUnbound { get; }
object DefaultValue { get; set; }
}
}