我有一個類定義了我將在應用程序範圍內使用的Hierarchical RadGrid。這個網格有很多列,所以這對我來說是最好的實現,因爲我將重寫基於網格的om實現的特定特性。從GridButtonColumn啓動編輯窗體
網格將根據用戶的訪問級別以不同的方式運行。在「基本用戶級別」上,他們將在父網格上添加新項目/編輯項目,並在子網格上編輯,拒絕(刪除),批准(更新)
下一級別將是'批准者'角色。他們不會在父網格上添加新項目/編輯項目,並且只會在子項上具有拒絕(編輯)。用戶在拒絕某個項目時將採取此角色的編輯操作是,他們將被要求通過用戶控件輸入評論,該用戶控件將在點擊拒絕按鈕時啓動。我遇到的問題是,使用GridButtonColumn作爲觸發事件時,不會爲DetailTableView.EditFormSettings顯示自定義用戶控件。有什麼想法嗎? TIA
private void SubmittedBatchesRadGrid_ItemDataBound(object sender, GridItemEventArgs e)
{
GridDataItem _dataItem = e.Item as GridDataItem;
if (_dataItem == null) return;
if (e.Item.OwnerTableView.Name == "SubmittedBatchesRadGrid_ChildGrid")
{
SetChildGridCommandColumns(sender, e);
return;
}
if (_dataItem.KeyValues == "{}") { return; }
SetMasterGridCommandColumns(sender, e, _dataItem);
}
private static void SetChildGridCommandColumns(object sender, GridItemEventArgs e)
{
const string _jqueryCode = "if(!$find('{0}').confirm('{1}', event, '{2}'))return false;";
const string _confirmText = "<p>Rejecting this adjustment will mean that you will have to also reject the batch when you are done processing these items.</p><p>Are you sure you want to reject this adjustment?</p>";
((ImageButton)(((GridEditableItem)e.Item)["PolicyEditRecord"].Controls[0])).ImageUrl = "/controls/styles/images/editpencil.png";
ImageButton _btnReject = (ImageButton)((GridDataItem)e.Item)["DeleteTransaction"].Controls[0];
_btnReject.CommandName = "Update";
_btnReject.ImageUrl = "/controls/styles/images/decline.png";
_btnReject.ToolTip = "Reject this item";
//_btnReject.Attributes["onclick"] = string.Format(_jqueryCode, ((Control)sender).ClientID, _confirmText, "Reject Adjustment");
}
private void SubmittedBatchesRadGrid_DetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e)
{
e.DetailTableView.EditFormSettings.EditFormType = GridEditFormType.WebUserControl;
e.DetailTableView.EditFormSettings.UserControlName = "/Controls/RejectedAdjustmentComment.ascx";
e.DetailTableView.EditMode = GridEditMode.PopUp;
e.DetailTableView.CommandItemSettings.ShowAddNewRecordButton = false;
GridDataItem _dataItem = e.DetailTableView.ParentItem;
e.DetailTableView.DataSource = AdjustmentAPI.GetAdjustmentsByBatch(Convert.ToInt32(_dataItem.GetDataKeyValue("BatchID").ToString()), PolicyClaimManualAdjustmentCode);
}
嘿詹姆斯,謝謝我有那部分工作正常,只是現在的要求是,他們添加評論時,拒絕一個項目。所以我正在重塑。我能夠得到這個與JavaScript和一個aspx表單一起工作,但我想搭配內置的功能來加載一個usercontrol,就像使用自定義編輯表單一樣。 – Tim