Axapta 如何在企业门户的AxGridView中启用创建/插入(Dynamics AX 2009)

Axapta 如何在企业门户的AxGridView中启用创建/插入(Dynamics AX 2009),axapta,dynamics-ax-2009,enterprise-portal,Axapta,Dynamics Ax 2009,Enterprise Portal,必须有一种方法可以在不使用隧道和向导的情况下从AxGridView创建和插入记录。从目前为止我在互联网上发现的情况来看,唯一的例子就是使用向导,老实说,我并不认为这是一种用户友好的方法 是否有人尝试直接从AxGridView插入记录?是,可以通过AxGridView输入数据。只需为该控件启用编辑、删除。还有一件事要创建新行-您必须创建AddAdditional按钮-创建新行,并隐藏代码: protected void NewLine_Click(object sender, EventArgs

必须有一种方法可以在不使用隧道和向导的情况下从AxGridView创建和插入记录。从目前为止我在互联网上发现的情况来看,唯一的例子就是使用向导,老实说,我并不认为这是一种用户友好的方法


是否有人尝试直接从AxGridView插入记录?

是,可以通过AxGridView输入数据。只需为该控件启用编辑、删除。还有一件事要创建新行-您必须创建AddAdditional按钮-创建新行,并隐藏代码:

protected void NewLine_Click(object sender, EventArgs e)
{
    int editIdx = AxGridView1.EditIndex;      

    try
    {
        // Save the last unsaved line if any
        if (AxGridView1.EditIndex != -1 && AxGridView1.Rows.Count > 0)
        {
            this.AxGridView1.UpdateRow(AxGridView1.EditIndex, true); 
        }


        DataSetViewRow dsvr = this.dsv.AddNew();        
    }
    catch (System.Exception ex)
    {
        AxExceptionCategory exceptionCategory;

        if (!AxControlExceptionHandler.TryHandleException(this, ex, out exceptionCategory))
        {
            // Throw the fatal exception
            throw;
        }
        if (exceptionCategory == AxExceptionCategory.NonFatal)
        {
            AxGridView1.EditIndex = editIdx;
        }
    }
}

private DataSetView dsv //get dataset view
    {
        get
        {
            DataSet dataSet = this.AxDataSource1.GetDataSet();
            return dataSet.DataSetViews[this.AxGridView1.DataMember];
        }
    } 

是,可以通过AxGridView输入数据。只需为该控件启用编辑、删除。还有一件事要创建新行-您必须创建AddAdditional按钮-创建新行,并隐藏代码:

protected void NewLine_Click(object sender, EventArgs e)
{
    int editIdx = AxGridView1.EditIndex;      

    try
    {
        // Save the last unsaved line if any
        if (AxGridView1.EditIndex != -1 && AxGridView1.Rows.Count > 0)
        {
            this.AxGridView1.UpdateRow(AxGridView1.EditIndex, true); 
        }


        DataSetViewRow dsvr = this.dsv.AddNew();        
    }
    catch (System.Exception ex)
    {
        AxExceptionCategory exceptionCategory;

        if (!AxControlExceptionHandler.TryHandleException(this, ex, out exceptionCategory))
        {
            // Throw the fatal exception
            throw;
        }
        if (exceptionCategory == AxExceptionCategory.NonFatal)
        {
            AxGridView1.EditIndex = editIdx;
        }
    }
}

private DataSetView dsv //get dataset view
    {
        get
        {
            DataSet dataSet = this.AxDataSource1.GetDataSet();
            return dataSet.DataSetViews[this.AxGridView1.DataMember];
        }
    } 

你的回答是正确的。我还需要做一些其他的事情。实际上,我在Dynamics AX 2009附带的EPProjTimeSheet.ascx.cs文件中找到了解决方案。您的答案是正确的。我还需要做一些其他的事情。实际上,我在Dynamics AX 2009附带的EPProjTimeSheet.ascx.cs文件中找到了解决方案。