//
-#if NET_2_0
-
using System;
using System.ComponentModel;
private Type valueType;
private bool visible = true;
private int width = 100;
+ private int dataColumnIndex;
private bool headerTextSet = false;
headerCell.SetColumnIndex(Index);
headerCell.Value = string.Empty;
displayIndex = -1;
+ dataColumnIndex = -1;
dataPropertyName = string.Empty;
fillWeight = 100.0F;
sortMode = DataGridViewColumnSortMode.NotSortable;
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
public virtual DataGridViewCell CellTemplate {
get { return cellTemplate; }
- set {
- cellTemplate = value;
- if (DataGridView != null) {
- cellTemplate.SetDataGridView(DataGridView);
- }
- }
+ set { cellTemplate = value; }
}
[Browsable (false)]
}
}
+ internal int DisplayIndexInternal {
+ get { return DisplayIndex; }
+ set { displayIndex = value; }
+ }
+
+ internal int DataColumnIndex {
+ get { return dataColumnIndex; }
+ set {
+ dataColumnIndex = value;
+ if (dataColumnIndex >= 0)
+ isDataBound = true;
+ }
+ }
+
[DefaultValue (0)]
public int DividerWidth {
get { return dividerWidth; }
public DataGridViewColumnSortMode SortMode {
get { return sortMode; }
set {
- if (value == DataGridViewColumnSortMode.Automatic && DataGridView != null && DataGridView.SelectionMode == DataGridViewSelectionMode.FullColumnSelect)
- throw new InvalidOperationException ("Column's SortMode cannot be set to Automatic while the DataGridView control's SelectionMode is set to FullColumnSelect.");
+ if (DataGridView != null && value == DataGridViewColumnSortMode.Automatic) {
+ if (DataGridView.SelectionMode == DataGridViewSelectionMode.FullColumnSelect ||
+ DataGridView.SelectionMode == DataGridViewSelectionMode.ColumnHeaderSelect)
+ throw new InvalidOperationException ("Column's SortMode cannot be set to Automatic "+
+ "while the DataGridView control's SelectionMode "+
+ "is set to FullColumnSelect or ColumnHeaderSelect.");
+ }
if (sortMode != value) {
sortMode = value;
[Localizable (true)]
public override bool Visible {
get { return visible; }
- set { visible = value; }
+ set {
+ visible = value;
+ if (DataGridView != null)
+ DataGridView.Invalidate ();
+ }
}
[Localizable (true)]
*/
}
+ [MonoTODO("Actually calculate width")]
public virtual int GetPreferredWidth (DataGridViewAutoSizeColumnMode autoSizeColumnMode, bool fixedHeight) {
switch (autoSizeColumnMode) {
case DataGridViewAutoSizeColumnMode.NotSet:
throw new ArgumentException("AutoSizeColumnMode is invalid");
}
if (fixedHeight) {
- return 0;
+ return MinimumWidth;
}
else {
- return 0;
+ return MinimumWidth;
}
}
}
base.SetDataGridView (dataGridView);
- if (cellTemplate != null) {
- cellTemplate.SetDataGridView(dataGridView);
- }
headerCell.SetDataGridView(dataGridView);
}
headerCell.SetColumnIndex(Index);
}
- internal void SetIsDataBound (bool value)
- {
- isDataBound = value;
- }
-
internal override void SetState (DataGridViewElementStates state) {
if (State != state) {
base.SetState(state);
}
}
-#endif