ProjectDataSet.TaskDataTable.AddTaskRow 方法
TaskRow會將物件新增到TaskDataTable物件。
命名空間: WebSvcProject
組件: ProjectServerServices (在 ProjectServerServices.dll 中)
語法
'宣告
Public Sub AddTaskRow ( _
row As ProjectDataSet.TaskRow _
)
'用途
Dim instance As ProjectDataSet.TaskDataTable
Dim row As ProjectDataSet.TaskRow
instance.AddTaskRow(row)
public void AddTaskRow(
ProjectDataSet.TaskRow row
)
參數
row
類型:WebSvcProject.ProjectDataSet.TaskRow包含要新增的TaskRow物件。
備註
若要新增具有任務的前置任務,指定AddPosition屬性。如果AddPosition是 null,會新增工作結尾處的專案。
重要
Project Server 不允許重複的工作 Guid 在同一個專案中,但不會檢查其他專案中重複的任務的 Guid。永遠不重複使用TASK_UID GUID 當您建立工作,即使工作位於不同的專案。重複任務 Guid 會自動換行其他 Project Server 功能,例如 Cube 建置服務與報表資料庫的更新。
AddTaskRow方法簽章被超載,如下所示:
協力廠商開發人員應該使用單一ProjectDataSet.TaskRow參數,例如AddTaskRow(ProjectDataSet.TaskRow row)多載。
在 Microsoft Visual Studio 的 [物件總管] 顯示另一個多載TaskRow中的所有欄位使用個別的參數。
public TaskRow AddTaskRow( Guid PROJ_UID, Guid TASK_UID, Guid TASK_PARENT_UID, string TASK_NAME, int TASK_ID, bool TASK_IS_MILESTONE, bool TASK_IS_SUMMARY, bool TASK_IS_MARKED, bool TASK_IGNORES_RES_CAL, bool TASK_IS_EFFORT_DRIVEN, bool TASK_IS_CRITICAL, bool TASK_IS_EXTERNAL, bool TASK_IS_FROM_FINISH_SUBPROJ, bool TASK_IS_OVERALLOCATED, bool TASK_IS_RECURRING, bool TASK_IS_RECURRING_SUMMARY, bool TASK_IS_SUBPROJ, bool TASK_IS_READONLY_SUBPROJ, bool TASK_LOCKDOWN_BY_MANAGER, int TASK_LEVELING_DELAY, short TASK_LEVELING_DELAY_FMT, bool TASK_LEVELING_CAN_SPLIT, bool TASK_LEVELING_ADJUSTS_ASSN, bool TASK_DUR_IS_EST, int TASK_DUR, int TASK_DUR_FMT, int TASK_DUR_VAR, double TASK_EAC, double TASK_VAC, int TASK_ACT_DUR, int TASK_REM_DUR, short TASK_CONSTRAINT_TYPE, DateTime TASK_CONSTRAINT_DATE, DateTime TASK_ACT_START, DateTime TASK_ACT_FINISH, int TASK_PRIORITY, int TASK_PCT_COMP, int TASK_PCT_WORK_COMP, int TASK_TYPE, short TASK_FIXED_COST_ACCRUAL, DateTime TASK_DEADLINE, double TASK_WORK, double TASK_OVT_WORK, double TASK_REG_WORK, double TASK_ACT_WORK, double TASK_ACT_OVT_WORK, double TASK_REM_WORK, double TASK_REM_OVT_WORK, double TASK_COST, double TASK_OVT_COST, double TASK_FIXED_COST, double TASK_ACT_COST, double TASK_ACT_OVT_COST, double TASK_REM_COST, double TASK_REM_OVT_COST, int TASK_PHY_PCT_COMP, int TASK_EVMETHOD, int TASK_OUTLINE_LEVEL, string TASK_OUTLINE_NUM, Guid TASK_CAL_UID, DateTime TASK_START_DATE, int TASK_START_VAR, DateTime TASK_FINISH_DATE, int TASK_FINISH_VAR, DateTime TASK_RESUME_DATE, DateTime TASK_STOP_DATE, DateTime TASK_PRELEVELED_START, DateTime TASK_PRELEVELED_FINISH, DateTime TASK_EARLY_START, DateTime TASK_EARLY_FINISH, DateTime TASK_LATE_START, DateTime TASK_LATE_FINISH, DateTime TB_START, DateTime TB_FINISH, double TB_COST, double TB_WORK, int TB_DUR, short TB_DUR_FMT, double TASK_BCWS, double TASK_BCWP, double TASK_ACWP, int TASK_FREE_SLACK, int TASK_TOTAL_SLACK, bool TASK_HAS_LINKED_FIELDS, string TASK_WBS, int AddPosition, Guid AddAfterTaskUID, int DurationType, int WOBJ_DOC_REF_CNT, int WOBJ_ISSUE_REF_CNT, int WOBJ_RISK_REF_CNT, int WOBJ_OTHER_REF_CNT, DateTime CREATED_DATE, DateTime MOD_DATE, string PROJ_NAME, int PROJ_TYPE, int PROJ_OPT_CURRENCY_DIGITS, int PROJ_OPT_CURRENCY_POSITION, string PROJ_OPT_CURRENCY_SYMBOL, Guid TASK_EXT_PROJ_UID, double TASK_BUDGET_COST, bool TASK_IS_NULL, double TASK_BUDGET_WORK, string TASK_CONTACT, double TASK_COST_VAR, double TASK_CPI, double TASK_CV, int TaskCVP, int TASK_START_SLACK, int TASK_FINISH_SLACK, string TASK_HYPERLINK_FRIENDLY_NAME, string TASK_HYPERLINK_ADDRESS, string TASK_HYPERLINK_SUB_ADDRESS, bool TASK_IS_ROLLED_UP, string TASK_NOTES, double TASK_SPI, double TASK_SV, int TaskSVP, double TASK_TCPI, double TASK_WORK_VAR)
範例
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
public static void CreateTaskRow(
WebSvcProject.ProjectDataSet dsProject,
string taskName,
PSLibrary.Task.AddPositionType position,
Guid predecessorGuid)
{
WebSvcProject.ProjectDataSet.TaskRow taskRow =
dsProject.Task.NewTaskRow();
taskRow.PROJ_UID = dsProject.Project[0].PROJ_UID;
taskRow.TASK_UID = Guid.NewGuid();
taskRow.AddPosition = position;
if (position == PSLibrary.Task.AddPosition.Middle)
{
taskRow.AddAfterTaskUID = predecessorGuid;
}
taskRow.TASK_NAME = taskName;
dsProject.Task.AddTaskRow(taskRow);
}
請參閱
參照
ProjectDataSet.TaskDataTable 類別