1 // Permission is hereby granted, free of charge, to any person obtaining
2 // a copy of this software and associated documentation files (the
3 // "Software"), to deal in the Software without restriction, including
4 // without limitation the rights to use, copy, modify, merge, publish,
5 // distribute, sublicense, and/or sell copies of the Software, and to
6 // permit persons to whom the Software is furnished to do so, subject to
7 // the following conditions:
9 // The above copyright notice and this permission notice shall be
10 // included in all copies or substantial portions of the Software.
12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
13 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
14 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
15 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
16 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
17 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
18 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 // Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
23 // Pedro MartÃnez Juliá <pedromj@gmail.com>
28 using System.ComponentModel;
30 namespace System.Windows.Forms {
33 public class DataGridViewCheckBoxColumn : DataGridViewColumn {
35 public DataGridViewCheckBoxColumn (bool threeState) {
36 CellTemplate = new DataGridViewCheckBoxCell (threeState);
39 public DataGridViewCheckBoxColumn () : this (false) {
43 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
44 public override DataGridViewCell CellTemplate {
45 get { return base.CellTemplate; }
46 set { base.CellTemplate = value as DataGridViewCheckBoxCell; }
50 public override DataGridViewCellStyle DefaultCellStyle {
51 get { return base.DefaultCellStyle; }
52 set { base.DefaultCellStyle = value; }
56 [TypeConverter (typeof (StringConverter))]
57 public object FalseValue {
59 if (base.CellTemplate == null) {
60 throw new InvalidOperationException("CellTemplate is null.");
62 return (base.CellTemplate as DataGridViewCheckBoxCell).FalseValue;
65 if (base.CellTemplate == null) {
66 throw new InvalidOperationException("CellTemplate is null.");
68 (base.CellTemplate as DataGridViewCheckBoxCell).FalseValue = value;
72 [DefaultValue (FlatStyle.Standard)]
73 public FlatStyle FlatStyle {
75 if (base.CellTemplate == null) {
76 throw new InvalidOperationException("CellTemplate is null.");
78 return (base.CellTemplate as DataGridViewCheckBoxCell).FlatStyle;
81 if (base.CellTemplate == null) {
82 throw new InvalidOperationException("CellTemplate is null.");
84 (base.CellTemplate as DataGridViewCheckBoxCell).FlatStyle = value;
89 [TypeConverter (typeof (StringConverter))]
90 public object IndeterminateValue {
92 if (base.CellTemplate == null) {
93 throw new InvalidOperationException("CellTemplate is null.");
95 return (base.CellTemplate as DataGridViewCheckBoxCell).IndeterminateValue;
98 if (base.CellTemplate == null) {
99 throw new InvalidOperationException("CellTemplate is null.");
101 (base.CellTemplate as DataGridViewCheckBoxCell).IndeterminateValue = value;
105 [DefaultValue (false)]
106 public bool ThreeState {
108 if (base.CellTemplate == null) {
109 throw new InvalidOperationException("CellTemplate is null.");
111 return (base.CellTemplate as DataGridViewCheckBoxCell).ThreeState;
114 if (base.CellTemplate == null) {
115 throw new InvalidOperationException("CellTemplate is null.");
117 (base.CellTemplate as DataGridViewCheckBoxCell).ThreeState = value;
121 [DefaultValue (null)]
122 [TypeConverter (typeof (StringConverter))]
123 public object TrueValue {
125 if (base.CellTemplate == null) {
126 throw new InvalidOperationException("CellTemplate is null.");
128 return (base.CellTemplate as DataGridViewCheckBoxCell).TrueValue;
131 if (base.CellTemplate == null) {
132 throw new InvalidOperationException("CellTemplate is null.");
134 (base.CellTemplate as DataGridViewCheckBoxCell).TrueValue = value;
138 public override string ToString ()
140 return string.Format ("DataGridViewCheckBoxColumn {{ Name={0}, Index={1} }}", Name, Index);