ProjectDataSet.TaskDataTable.AddTaskRow 方法
TaskRow將物件加入至TaskDataTable。
命名空間: WebSvcStatusing
組件: 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
類型:WebSvcStatusing.ProjectDataSet.TaskRow新增TaskDataTable到TaskRow 。
備註
若要新增任務的前置任務的任務,請指定 [ AddPosition ] 屬性。如果AddPosition是null 參考 (未執行任何動作 於 Visual Basic 中),就會在專案結尾處新增工作。
重要
專案伺服器不允許重複的工作的 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(
WebSvcStatusing.ProjectDataSet dsProject,
string taskName,
PSLibrary.Task.AddPositionType position,
Guid predecessorGuid)
{
WebSvcStatusing.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 類別