セルごとにマスクや表示書式を変える場合は、セルごとにエディターインスタンスを作成し、そこで指定し分けてください。
private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
{
// 1行目
if(e.Row.Index == 0)
{
DefaultEditorOwnerSettings settings = new DefaultEditorOwnerSettings();
settings.MaskInput = "#.000";
settings.Format = "N3";
DefaultEditorOwner owner = new DefaultEditorOwner(settings);
EditorWithMask editor = new EditorWithMask(owner);
e.Row.Cells["Col1"].Editor = editor;
}
// 2行目
else if(e.Row.Index == 1)
{
DefaultEditorOwnerSettings settings = new DefaultEditorOwnerSettings();
settings.MaskInput = "#.0000";
settings.Format = "N4";
DefaultEditorOwner owner = new DefaultEditorOwner(settings);
EditorWithMask editor = new EditorWithMask(owner);
e.Row.Cells["Col1"].Editor = editor;
}
}
実行結果

TIPS
なお、無条件にセルにエディターの新規インスタンスを生成し割り当てるアルゴリズムの場合、画面上に表示されているセルの数が多くなればなるほどエディターのインスタンス数が増えます。また、InitializeRowイベントは、スクロールした場合、等々、かなり頻繁に呼び出されるイベントなので、そのたびにインスタンスの生成をすることになります。
無条件に割り当てるのではなく、一度生成したエディターは何か変数(DictionaryなりListなりArrayなり使いやすいもので構いません)に保存しておき、使いまわすことができるエディターは使いまわすようなアルゴリズムを組むことをお勧めします。
サンプル
リファレンス
- 個別セルで異なるエディタを使用