# C1.Win.FlexGrid.C1FlexGridBase.EditMask

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_Win_FlexGrid_C1FlexGridBase_EditMask_" data-uid="C1.Win.FlexGrid.C1FlexGridBase.EditMask*">EditMask Property
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_Win_FlexGrid_C1FlexGridBase_EditMask_" data-uid="C1.Win.FlexGrid.C1FlexGridBase.EditMask*"></a>
<h4 id="C1_Win_FlexGrid_C1FlexGridBase_EditMask" data-uid="C1.Win.FlexGrid.C1FlexGridBase.EditMask">EditMask</h4>
<div class="markdown level1 summary"><p>Gets or sets the input mask to use when editing cells.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">[Browsable(false)]
public string EditMask { get; set; }</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">&lt;Browsable(False)&gt;
Public Property EditMask As String</code></pre>
</div>
<h5 id="C1_Win_FlexGrid_C1FlexGridBase_EditMask_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>The <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.EditMask.html#C1_Win_FlexGrid_C1FlexGridBase_EditMask">EditMask</a> specifies an input mask for automatic input formatting and 
validation. The mask syntax is similar to the one used by the Microsoft MaskedEdit ActiveX 
control and by Microsoft Access and is described below.</p>
<p>Set the <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.EditMask.html#C1_Win_FlexGrid_C1FlexGridBase_EditMask">EditMask</a> property in response to the <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.BeforeEdit.html">BeforeEdit</a> event, 
in the same way you would set the <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.ComboList.html#C1_Win_FlexGrid_C1FlexGridBase_ComboList">ComboList</a> property.</p>
<p>If the same mask is used to edit all values in a column, use the column's <a class="xref" href="C1.Win.FlexGrid.RowCol.EditMask.html#C1_Win_FlexGrid_RowCol_EditMask">EditMask</a> 
property. This simplifies your code because you don't need to handle the <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.BeforeEdit.html">BeforeEdit</a> event.</p>
<p>When the user is done editing a cell with a mask, the <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.ValidateEdit.html">ValidateEdit</a> event fires.
The <cref name="ValidateEditEventArgs.Cancel"></cref> event parameter will be set to true if the mask was not filled 
out properly, so in most cases you don't have to implement the handler. The default behavior ensures that 
only valid data will be entered.</p>
<p>The <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.EditMask.html#C1_Win_FlexGrid_C1FlexGridBase_EditMask">EditMask</a> string is composed of the following symbols:</p>
<p></p>
<p>1) Wildcards</p>
<p>0	digit</p>
<p>9	digit or space</p>
<p>#	digit, space, or sign</p>
<p>L	letter</p>
<p>?	letter or space</p>
<p>A	letter or digit</p>
<p>a	letter, digit, or space</p>
<p>&amp;	any character</p>
<p></p>
<p>2) Localized characters</p>
<p>.	localized decimal separator</p>
<p>,	localized thousand separator</p>
<p>:	localized time separator</p>
<p>/	localized date separator</p>
<p></p>
<p>3) Command characters</p>
<p>\	next character is taken as a literal</p>
<p>&gt;	translate letters to uppercase</p>
<p>&lt;	translate letters to lowercase</p>
<p></p>
<p>4) Placeholder specification</p>
<p>;	next character is used as a placeholder (the default is an underscore)</p>
</div>
<h5 id="C1_Win_FlexGrid_C1FlexGridBase_EditMask_examples">Examples</h5>
<p>The code below sets the edit mask so the user can enter a phone number, with optional
area code, and a state in uppercase letters. The space-holder used is an asterisk (&quot;*&quot;).</p>
<pre><code class="lang-csharp">flex.EditMask = "(###) 000-0000 St\ate\: &gt;LL;*";</code></pre>

</div>
