指定した数以上の行追加を抑止できますか?

文書番号 : 84135     文書種別 : 使用方法     登録日 : 2019/06/27     最終更新日 : 2019/06/27
文書を印刷する
対象製品
MultiRow for Windows Forms 10.0J
詳細
RowsAdded イベントでMultiRowのAllowUserToAddRowsプロパティをfalseに設定することで一定数以上の行追加を抑止することが可能です。

[Visual Basic]
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ' データの作成
    Dim dt As New DataTable("Test")
    dt.Columns.Add("ColA", GetType(String))
    dt.Columns.Add("ColB", GetType(String))
    For i = 0 To 2
        dt.Rows.Add(String.Format("A{0}", i), String.Format("B{0}", i))
    Next
    dt.AcceptChanges()

    ' MultiRowの設定
    Dim template1 = GrapeCity.Win.MultiRow.Template.CreateGridTemplate(2)
    template1.Row.Cells(0).DataField = "ColA"
    template1.Row.Cells(1).DataField = "ColB"
    GcMultiRow1.Template = template1
    GcMultiRow1.DataSource = dt
    GcMultiRow1.AllowUserToAddRows = True
End Sub

Private Sub GcMultiRow1_RowsAdded(sender As Object, e As GrapeCity.Win.MultiRow.RowsAddedEventArgs) Handles GcMultiRow1.RowsAdded
    ' 設定可能な行数を4行に制限
    If e.RowIndex = 4 Then
        GcMultiRow1.AllowUserToAddRows = False
    End If
End Sub

[C#]
private void Form1_Load(object sender, EventArgs e)
{
    // データの作成
    System.Data.DataTable dt = new System.Data.DataTable("Test");
    dt.Columns.Add("ColA", typeof(String));
    dt.Columns.Add("ColB", typeof(String));
    for (var i = 0; i < 3; i++)
    {
        dt.Rows.Add(string.Format("A{0}", i), string.Format("B{0}", i));
    }
    dt.AcceptChanges();

    // MultiRowの設定
    GrapeCity.Win.MultiRow.Template template1 = GrapeCity.Win.MultiRow.Template.CreateGridTemplate(2);
    template1.Row.Cells[0].DataField = "ColA";
    template1.Row.Cells[1].DataField = "ColB";
    gcMultiRow1.Template = template1;
    gcMultiRow1.DataSource = dt;
    gcMultiRow1.AllowUserToAddRows = true;
}

private void GcMultiRow1_RowsAdded(object sender, GrapeCity.Win.MultiRow.RowsAddedEventArgs e)
{
    // 設定可能な行数を4行に制限
    if (e.RowIndex == 4)
    {
        gcMultiRow1.AllowUserToAddRows = false;
    }
}