作成日: 2015/05/29 最終更新日: 2015/09/16
文書種別
不具合
状況
修正済み
詳細
行のマージとスクロールを有効にしたグリッドで、C1TemplateFieldが複数存在するグリッドにおいて、C1TemplateFieldに配置されたC1InputTextに値を入力できません。
この現象は以下の条件を満たす場合に発生します。
上記の条件を満たす場合、マージされたグループ内の2行目以降の行で、さらに左から2番目以降のC1TemplateFieldに配置されたC1InputTextに値を入力しようとするとフォーカスが失われてしまい値を入力することができません。
この事象は標準のTextBoxを配置した場合でも発生します。
◎サンプルコード(aspx)
◎サンプルコード(VB)
◎サンプルコード(C#)
【再現方法】
1.サンプルを実行します
2.2行目の3列目に配置されたTextBox、または4列目に配置されたC1InputTextをクリックしフォーカスをあてます
3.キーボードよりテキストを入力します
結果:テキストを入力できません
この現象は以下の条件を満たす場合に発生します。
- 行のマージを有効にする
- スクロールを有効にする
- C1TemplateFieldが複数存在する
- C1TemplateFieldにC1InputTextが配置されている
上記の条件を満たす場合、マージされたグループ内の2行目以降の行で、さらに左から2番目以降のC1TemplateFieldに配置されたC1InputTextに値を入力しようとするとフォーカスが失われてしまい値を入力することができません。
この事象は標準のTextBoxを配置した場合でも発生します。
◎サンプルコード(aspx)
<wijmo:C1GridView ID="C1GridView1" runat="server" AutogenerateColumns="False">
<ScrollingSettings Mode="Both"></ScrollingSettings>
<Columns>
<wijmo:C1BoundField DataField="Bound1" RowMerge="Restricted">
</wijmo:C1BoundField>
<wijmo:C1TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ItemTemplate>
</wijmo:C1TemplateField>
<wijmo:C1TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</ItemTemplate>
</wijmo:C1TemplateField>
<wijmo:C1TemplateField>
<ItemTemplate>
<wijmo:C1InputText ID="C1InputText1" runat="server"></wijmo:C1InputText>
</ItemTemplate>
</wijmo:C1TemplateField>
</Columns>
</wijmo:C1GridView>
<ScrollingSettings Mode="Both"></ScrollingSettings>
<Columns>
<wijmo:C1BoundField DataField="Bound1" RowMerge="Restricted">
</wijmo:C1BoundField>
<wijmo:C1TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ItemTemplate>
</wijmo:C1TemplateField>
<wijmo:C1TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</ItemTemplate>
</wijmo:C1TemplateField>
<wijmo:C1TemplateField>
<ItemTemplate>
<wijmo:C1InputText ID="C1InputText1" runat="server"></wijmo:C1InputText>
</ItemTemplate>
</wijmo:C1TemplateField>
</Columns>
</wijmo:C1GridView>
◎サンプルコード(VB)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim dt As New DataTable
dt.Columns.Add(New DataColumn("Bound1"))
For i = 0 To 5
Dim dtRow As DataRow = dt.NewRow
dtRow.Item("Bound1") = "XXXX"
dt.Rows.Add(dtRow)
Next
C1GridView1.DataSource = dt
C1GridView1.DataBind()
End Sub
Dim dt As New DataTable
dt.Columns.Add(New DataColumn("Bound1"))
For i = 0 To 5
Dim dtRow As DataRow = dt.NewRow
dtRow.Item("Bound1") = "XXXX"
dt.Rows.Add(dtRow)
Next
C1GridView1.DataSource = dt
C1GridView1.DataBind()
End Sub
◎サンプルコード(C#)
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Bound1"));
for (int i = 0; i <= 5; i++)
{
DataRow dtRow = dt.NewRow();
dtRow[0] = "XXXX";
dt.Rows.Add(dtRow);
}
C1GridView1.DataSource = dt;
C1GridView1.DataBind();
}
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Bound1"));
for (int i = 0; i <= 5; i++)
{
DataRow dtRow = dt.NewRow();
dtRow[0] = "XXXX";
dt.Rows.Add(dtRow);
}
C1GridView1.DataSource = dt;
C1GridView1.DataBind();
}
【再現方法】
1.サンプルを実行します
2.2行目の3列目に配置されたTextBox、または4列目に配置されたC1InputTextをクリックしフォーカスをあてます
3.キーボードよりテキストを入力します
結果:テキストを入力できません
回避方法
旧文書番号
81332