作成日: 2017/05/24 最終更新日: 2017/05/24
文書種別
不具合
状況
回避方法あり
詳細
編集状態に入るときにC1FlexGridのImeModeを列のカスタムエディタのImeModeに設定しても、セルを編集する前のみ有効で、いったん編集を行った後は、列を移動してもC1FlexGridのImeModeの値が切り替わらなくなります。
回避方法
各列のカスタムエディタのImeModeの値を、いったん別の変数にコピーしてArrayListに保存おき、BeforeEditイベント内で、各列に対するこのImeModeの値を指定します。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
Dim im0 , im1 As ImeMode
Dim imeCols As New ArrayList()
Private Sub Form1_Load(sender As Object, e As EventArgs)
im0 = txtHiragana.ImeMode
im1 = txtKatakana.ImeMode
imeCols.Add(im0)
imeCols.Add(im1)
End Sub
Private Sub C1FlexGrid1_BeforeEdit(sender As Object, e As RowColEventArgs)
If e.Col < 2 Then
C1FlexGrid1.ImeMode = DirectCast(imeCols(e.Col), ImeMode)
End If
End Sub
Dim imeCols As New ArrayList()
Private Sub Form1_Load(sender As Object, e As EventArgs)
im0 = txtHiragana.ImeMode
im1 = txtKatakana.ImeMode
imeCols.Add(im0)
imeCols.Add(im1)
End Sub
Private Sub C1FlexGrid1_BeforeEdit(sender As Object, e As RowColEventArgs)
If e.Col < 2 Then
C1FlexGrid1.ImeMode = DirectCast(imeCols(e.Col), ImeMode)
End If
End Sub
◎サンプルコード(C#)
ImeMode im0, im1;
ArrayList imeCols = new ArrayList();
private void Form1_Load(object sender, EventArgs e)
{
・・・(途中省略)・・・
im0 = txtHiragana.ImeMode;
im1 = txtKatakana.ImeMode;
imeCols.Add(im0);
imeCols.Add(im1);
}
private void c1FlexGrid1_BeforeEdit(object sender, RowColEventArgs e)
{
if (e.Col < 2) c1FlexGrid1.ImeMode = (ImeMode)imeCols[e.Col];
}
ArrayList imeCols = new ArrayList();
private void Form1_Load(object sender, EventArgs e)
{
・・・(途中省略)・・・
im0 = txtHiragana.ImeMode;
im1 = txtKatakana.ImeMode;
imeCols.Add(im0);
imeCols.Add(im1);
}
private void c1FlexGrid1_BeforeEdit(object sender, RowColEventArgs e)
{
if (e.Col < 2) c1FlexGrid1.ImeMode = (ImeMode)imeCols[e.Col];
}
旧文書番号
82165