0

我正在为 SAP B1 8.82 制作一个附加组件。我想为我的矩阵列“#”自动行编号,即 UID“V_-1”。8.82 中是否有可以帮助我做到这一点的功能?

我正在为我的矩阵使用 UserDataSource。当我添加/删除一行时,如何获得自动更新的行号?

我在菜单事件 1292 中添加了以下内容,用于手动添加行号,但无法让它用于删除行 - 菜单事件 1293。(使用 C#)

case "1292"://Add Matrix Row
                    _form.Freeze(true);
                    _form.DataSources.UserDataSources.Item("itemNo").Value = "";
                    _form.DataSources.UserDataSources.Item("itemDesc").Value = "";
                    _form.DataSources.UserDataSources.Item("quantity").Value = "";
                    _form.DataSources.UserDataSources.Item("warehouse").Value = "";
                    _form.DataSources.UserDataSources.Item("distrRule").Value = "";
                    _form.DataSources.UserDataSources.Item("project").Value = "";
                    oMatrixItem.AddRow();

                    // row numbering   
                    int i = 1;
                    int j = 0;
                    j = oMatrixItem.RowCount;

                    while (j >= i)
                    {
                        oMatrixItem.Columns.Item("V_-1").Cells.Item(i).Specific.Value = i.ToString();
                        i = i + 1;
                    }

                    _form.Freeze(false);
                    break;
4

1 回答 1

1

为了简单地获得“V_-1”列中的数字

  1. 我们可以将我们的矩阵绑定到一个表并将行 ID 列链接到“V_-1”列
  2. 我们可以使用 DBDataSource 将矩阵绑定到表并将“V_-1”链接到矩阵列

但是,如果我们需要在删除行之后维护序列号,我们需要在将数据加载到矩阵中以在动作事件后加载的形式中编写单独的代码。

示例伪代码:

for i as integer = 1 to matrix.rowcount
    matrix.columns.itm(V_-1).item().cells(i)=i
next
于 2013-05-25T11:13:30.007 回答