Hello Everyone,
I have a weird problem in editing a detail row from hierarchy grid.
Please check on attached screenshot for reference and for more details.
ASPX:
Below is the C# code for master grid.
I would really appreciate for any response.
Thanks!
Zel
I have a weird problem in editing a detail row from hierarchy grid.
Please check on attached screenshot for reference and for more details.
ASPX:
<
rad:RadGrid
runat
=
"server"
ID
=
"gridCPDiag"
AllowPaging
=
"True"
AllowSorting
=
"True"
PageSize
=
"15"
AutoGenerateColumns
=
"False"
GridLines
=
"None"
BorderStyle
=
"None"
Skin
=
"Outlook"
AllowMultiRowEdit
=
"true"
AllowMultiRowSelection
=
"true"
OnNeedDataSource
=
"gridCPDiag_NeedDataSource"
OnDetailTableDataBind
=
"gridCPDiag_DetailTableDataBind"
OnInsertCommand
=
"gridCPDiag_InsertCommand"
OnDataBound
=
"gridCPDiag_Databound"
OnUpdateCommand
=
"gridCPDiag_UpdateCommand"
OnItemCreated
=
"gridCPDiag_ItemCreated"
OnDeleteCommand
=
"gridCPDiag_DeleteCommand"
OnItemDataBound
=
"gridCPDiag_ItemDataBound"
OnPreRender
=
"gridCPDiag_PreRender"
OnItemCommand
=
"gridCPDiag_ItemCommand"
>
<
MasterTableView
Name
=
"Master"
DataKeyNames
=
"cpd_id"
CommandItemDisplay
=
"Top"
EditMode
=
"InPlace"
Width
=
"100%"
>
<
CommandItemTemplate
>
<
table
width
=
"100%"
border
=
"0"
cellspacing
=
"0"
cellpadding
=
"0"
>
<
tr
>
<
td
style
=
"width:60%"
>
<
div
style
=
"padding:3px 4px 3px 4px"
>
<
table
border
=
"0"
cellpadding
=
"1"
cellspacing
=
"1"
>
<
tr
style
=
"font: normal 11px tahoma, Verdana, Helvetica, Sans-serif;vertical-align:middle"
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
>
<
asp:LinkButton
ID
=
"master_btnAdd"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"InitInsert"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/addemail.gif"
/> Add</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"master_lnkPerformInsert"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"PerformInsert"
Visible
=
"false"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/save.gif"
/> Save</
asp:LinkButton
>
</
td
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
>
<
asp:LinkButton
ID
=
"master_btnEditSelected"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"EditSelected"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/edit.gif"
/> Edit</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"master_btnUpdateEdited"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"Update"
Visible
=
"false"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/save.gif"
/> Save</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"master_btnCancel"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"CancelAll"
Visible
=
"false"
CausesValidation
=
"false"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/cancel.gif"
/> Cancel</
asp:LinkButton
>
</
td
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
>
<
asp:LinkButton
ID
=
"master_btnDelete"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"Delete"
OnClientClick
=
"javascript:return confirm('Are you sure you want to delete this Clinical Pathway?')"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/delete.gif"
/> Delete</
asp:LinkButton
>
</
td
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
align
=
"right"
>
<
asp:LinkButton
id
=
"master_PrintFriendly"
ForeColor
=
"Black"
runat
=
"server"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/print.gif"
/> Printer Friendly Version</
asp:LinkButton
>
</
td
>
</
tr
>
</
table
>
</
div
>
</
td
>
</
tr
>
</
table
>
</
CommandItemTemplate
>
<
DetailTables
>
<
rad:GridTableView
Name
=
"Detail2"
DataKeyNames
=
"cp_id"
DataMember
=
"visit"
CommandItemDisplay
=
"Top"
EditMode
=
"InPlace"
Width
=
"100%"
>
<
CommandItemTemplate
>
<
table
width
=
"100%"
border
=
"0"
cellspacing
=
"0"
cellpadding
=
"0"
>
<
tr
>
<
td
style
=
"width:60%"
>
<
div
style
=
"padding:3px 4px 3px 4px"
>
<
table
border
=
"0"
cellpadding
=
"1"
cellspacing
=
"1"
>
<
tr
style
=
"font: normal 11px tahoma, Verdana, Helvetica, Sans-serif;vertical-align:middle"
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
>
<
asp:LinkButton
ID
=
"det2_btnAdd"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"InitInsert"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/addemail.gif"
/> Add</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"det2_lnkPerformInsert"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"PerformInsert"
Visible
=
"false"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/save.gif"
/> Save</
asp:LinkButton
>
</
td
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
>
<
asp:LinkButton
ID
=
"det2_btnEditSelected"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"EditSelected"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/edit.gif"
/> Edit</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"det2_btnUpdateEdited"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"Update"
Visible
=
"false"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/save.gif"
/> Save</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"det2_btnCancel"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"CancelAll"
Visible
=
"false"
CausesValidation
=
"false"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/cancel.gif"
/> Cancel</
asp:LinkButton
>
</
td
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
>
<
asp:LinkButton
ID
=
"det2_btnDelete"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"Delete"
OnClientClick
=
"javascript:return confirm('Are you sure you want to delete this/these Clinical Pathway Visit Frequency?')"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/delete.gif"
/> Delete</
asp:LinkButton
>
</
td
>
</
tr
>
</
table
>
</
div
>
</
td
>
</
tr
>
</
table
>
</
CommandItemTemplate
>
<
DetailTables
>
<
rad:GridTableView
Name
=
"Detail3"
DataKeyNames
=
"cpi_id"
DataMember
=
"instruction"
CommandItemDisplay
=
"Top"
EditMode
=
"InPlace"
Width
=
"100%"
>
<
CommandItemTemplate
>
<
table
width
=
"100%"
border
=
"0"
cellspacing
=
"0"
cellpadding
=
"0"
>
<
tr
>
<
td
style
=
"width:60%"
>
<
div
style
=
"padding:3px 4px 3px 4px"
>
<
table
border
=
"0"
cellpadding
=
"1"
cellspacing
=
"1"
>
<
tr
style
=
"font: normal 11px tahoma, Verdana, Helvetica, Sans-serif;vertical-align:middle"
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
>
<
asp:LinkButton
ID
=
"det3_btnAdd"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"InitInsert"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/addemail.gif"
/> Add</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"det3_lnkPerformInsert"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"PerformInsert"
Visible
=
"false"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/save.gif"
/> Save</
asp:LinkButton
>
</
td
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
>
<
asp:LinkButton
ID
=
"det3_btnEditSelected"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"EditSelected"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/edit.gif"
/> Edit</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"det3_btnUpdateEdited"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"Update"
Visible
=
"false"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/save.gif"
/> Save</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"det3_btnCancel"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"CancelAll"
Visible
=
"false"
CausesValidation
=
"false"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/cancel.gif"
/> Cancel</
asp:LinkButton
>
</
td
>
<
td
>
<
div
class
=
"toolbarIconDivider"
>|</
div
>
</
td
>
<
td
>
<
asp:LinkButton
ID
=
"det3_btnDelete"
CssClass
=
"mu"
onmouseover
=
"this.className='mo'"
onmouseout
=
"this.className='mu'"
runat
=
"server"
CommandName
=
"Delete"
OnClientClick
=
"javascript:return confirm('Are you sure you want to delete this Clinical Pathway Instruction?')"
><
img
style
=
"border:0px"
alt
=
""
src
=
"../images/delete.gif"
/> Delete</
asp:LinkButton
>
</
td
>
</
tr
>
</
table
>
</
div
>
</
td
>
</
tr
>
</
table
>
</
CommandItemTemplate
>
<
Columns
>
<
rad:GridBoundColumn
DataField
=
"cpi_id"
HeaderText
=
"CPI_ID"
UniqueName
=
"CPI_ID"
Visible
=
"false"
></
rad:GridBoundColumn
>
<
rad:GridBoundColumn
DataField
=
"instructions"
HeaderText
=
"instructions"
UniqueName
=
"instructions"
Visible
=
"false"
></
rad:GridBoundColumn
>
<
rad:GridTemplateColumn
HeaderText
=
"Instructions"
UniqueName
=
"instructions"
DataField
=
"instructions"
>
<
ItemTemplate
>
<%# DataBinder.Eval(Container.DataItem, "instructions")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
ID
=
"tbIns"
runat
=
"server"
Text='<%# Bind( "instructions") %>' width="100%" TabIndex="1" TextMode="MultiLine" Rows="4"></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"descValidator"
Runat
=
"server"
Display
=
"Dynamic"
ControlToValidate
=
"tbIns"
ErrorMessage
=
"* Required Field"
>
</
asp:RequiredFieldValidator
>
</
EditItemTemplate
>
<
HeaderStyle
Width
=
"90%"
/>
</
rad:GridTemplateColumn
>
<
rad:GridTemplateColumn
HeaderText
=
"Sort Order"
UniqueName
=
"sortorder"
DataField
=
"sortorder"
>
<
ItemTemplate
>
<%# DataBinder.Eval(Container.DataItem, "sortorder")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
ID
=
"tbSortOrder"
runat
=
"server"
Text='<%# Bind( "sortorder") %>' width="30px" TabIndex="2"></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"descValidator2"
Runat
=
"server"
Display
=
"Dynamic"
ControlToValidate
=
"tbSortOrder"
ErrorMessage
=
"* Required Field"
>
</
asp:RequiredFieldValidator
>
<
asp:RegularExpressionValidator
ID
=
"RegularExpressionValidator1"
runat
=
"server"
Display
=
"Dynamic"
ControlToValidate
=
"tbSortOrder"
ErrorMessage
=
"Please enter a valid sort order number."
ValidationExpression
=
"^\d+$"
></
asp:RegularExpressionValidator
>
</
EditItemTemplate
>
</
rad:GridTemplateColumn
>
</
Columns
>
</
rad:GridTableView
>
</
DetailTables
>
<
Columns
>
<
rad:GridBoundColumn
DataField
=
"cp_id"
HeaderText
=
"CP_ID"
UniqueName
=
"CP_ID"
Visible
=
"false"
></
rad:GridBoundColumn
>
<
rad:GridBoundColumn
DataField
=
"VisitFrequency"
HeaderText
=
"VisitFrequency"
UniqueName
=
"VisitFrequency"
Visible
=
"false"
></
rad:GridBoundColumn
>
<
rad:GridClientSelectColumn
UniqueName
=
"ClientSelectColumnDetail1"
></
rad:GridClientSelectColumn
>
<
rad:GridTemplateColumn
HeaderText
=
"Visit Frequency"
UniqueName
=
"VisitFrequency"
DataField
=
"VisitFrequency"
>
<
ItemTemplate
>
<%# DataBinder.Eval(Container.DataItem, "VisitFrequency")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
ID
=
"tbVisit"
runat
=
"server"
Text='<%# Bind( "VisitFrequency") %>' width="100%" TabIndex="1" ></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"descValidator"
Runat
=
"server"
Display
=
"Dynamic"
ControlToValidate
=
"tbVisit"
ErrorMessage
=
"* Required Field"
>
</
asp:RequiredFieldValidator
>
</
EditItemTemplate
>
<
HeaderStyle
Width
=
"80%"
/>
</
rad:GridTemplateColumn
>
<
rad:GridTemplateColumn
HeaderText
=
"Sort Order"
UniqueName
=
"Sortorder"
DataField
=
"Sortorder"
>
<
ItemTemplate
>
<%# DataBinder.Eval(Container.DataItem, "Sortorder")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
ID
=
"tbVisitSortOrder"
runat
=
"server"
Text='<%# Bind( "Sortorder") %>' width="30px" TabIndex="2" Visible="false"></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"descValidator2"
Runat
=
"server"
Display
=
"Dynamic"
ControlToValidate
=
"tbVisitSortOrder"
ErrorMessage
=
"* Required Field"
>
</
asp:RequiredFieldValidator
>
<
asp:RegularExpressionValidator
ID
=
"RegularExpressionValidator2"
runat
=
"server"
Display
=
"Dynamic"
ControlToValidate
=
"tbVisitSortOrder"
ErrorMessage
=
"Please enter a valid sort order number."
ValidationExpression
=
"^\d+$"
></
asp:RegularExpressionValidator
>
</
EditItemTemplate
>
</
rad:GridTemplateColumn
>
</
Columns
>
</
rad:GridTableView
>
</
DetailTables
>
<
Columns
>
<
rad:GridBoundColumn
DataField
=
"cpd_id"
HeaderText
=
"CPD_ID"
UniqueName
=
"CPD_ID"
Visible
=
"False"
></
rad:GridBoundColumn
>
<
rad:GridBoundColumn
DataField
=
"short_desc"
HeaderText
=
"short desc"
UniqueName
=
"short_desc"
Visible
=
"False"
></
rad:GridBoundColumn
>
<
rad:GridTemplateColumn
HeaderText
=
"Diagnosis"
UniqueName
=
"short_desc"
DataField
=
"short_desc"
>
<
ItemTemplate
>
<%# DataBinder.Eval(Container.DataItem, "short_desc")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
ID
=
"tbDiag"
runat
=
"server"
Text='<%# Bind( "short_desc") %>' Width="95%" TabIndex="1"></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"descValidator"
Runat
=
"server"
Display
=
"Dynamic"
ControlToValidate
=
"tbDiag"
ErrorMessage
=
"* Required field"
>
</
asp:RequiredFieldValidator
>
</
EditItemTemplate
>
<
HeaderStyle
Width
=
"20%"
/>
</
rad:GridTemplateColumn
>
<
rad:GridTemplateColumn
HeaderText
=
"Description"
UniqueName
=
"long_desc"
DataField
=
"long_desc"
>
<
ItemTemplate
>
<%# DataBinder.Eval(Container.DataItem, "long_desc")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
ID
=
"tbDesc"
runat
=
"server"
Text='<%# Bind( "long_desc") %>' Width="95%" TabIndex="2"></
asp:TextBox
>
</
EditItemTemplate
>
<
HeaderStyle
Width
=
"80%"
/>
</
rad:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
EnablePostBackOnRowClick
=
"false"
>
<
Selecting
AllowRowSelect
=
"True"
/>
<
ClientEvents
/>
</
ClientSettings
>
</
rad:RadGrid
>
Below is the C# code for master grid.
protected void gridCPDiag_NeedDataSource(object source, Telerik.WebControls.GridNeedDataSourceEventArgs e)
{
if (!e.IsFromDetailTable)
{
ClinicalPathway cp = new ClinicalPathway(AgencyId, BranchId);
DataTable dt = cp.GetClinicalPathwayList();
gridCPDiag.DataSource = dt.DefaultView;
}
}
protected void gridCPDiag_PreRender(object sender, EventArgs e)
{
if (gridCPDiag.MasterTableView.IsItemInserted || cpd_id <= 0) return;
int currentPageIndex = gridCPDiag.CurrentPageIndex;
for (int i = 0; i <
gridCPDiag.PageCount
; i++)
{
foreach (GridDataItem item in gridCPDiag.Items)
{
if (cpd_id.Equals(Convert.ToInt32(item["cpd_id"].Text)))
{
item.Selected
=
true
;
currentPageIndex = -1;
break;
}
}
if (currentPageIndex.Equals(-1))
break;
currentPageIndex++;
if (currentPageIndex >= gridCPDiag.PageCount)
currentPageIndex = 0;
gridCPDiag.CurrentPageIndex = currentPageIndex;
gridCPDiag.Rebind();
}
}
protected void gridCPDiag_DetailTableDataBind(object source, Telerik.WebControls.GridDetailTableDataBindEventArgs e)
{
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
switch (e.DetailTableView.DataMember)
{
case "visit":
{
string CPID = dataItem.GetDataKeyValue("cpd_id").ToString();
ClinicalPathway cp = new ClinicalPathway(AgencyId, BranchId);
DataTable dt = cp.GetVisitFreqByDiag(Convert.ToInt32(CPID));
e.DetailTableView.DataSource = dt.DefaultView;
break;
}
case "instruction":
{
string CPDID = dataItem.GetDataKeyValue("cp_id").ToString();
ClinicalPathway cp = new ClinicalPathway(AgencyId, BranchId);
DataTable dt = cp.GetInstructionsByVisitFreq(Convert.ToInt32(CPDID));
e.DetailTableView.DataSource = dt.DefaultView;
break;
}
}
}
protected void gridCPDiag_ItemDataBound(object sender, Telerik.WebControls.GridItemEventArgs e)
{
if (e.Item is GridCommandItem && e.Item.OwnerTableView.Name == "Master")
{
GridCommandItem diagcommandItem = (GridCommandItem)e.Item;
LinkButton diagbtnAdd = (LinkButton)diagcommandItem.FindControl("master_btnAdd");
LinkButton diaglnkPerformInsert = (LinkButton)diagcommandItem.FindControl("master_lnkPerformInsert");
LinkButton diagbtnEditSelected = (LinkButton)diagcommandItem.FindControl("master_btnEditSelected");
LinkButton diagbtnUpdateEdited = (LinkButton)diagcommandItem.FindControl("master_btnUpdateEdited");
LinkButton diagbtnCancel = (LinkButton)diagcommandItem.FindControl("master_btnCancel");
LinkButton diagbtnDelete = (LinkButton)diagcommandItem.FindControl("master_btnDelete");
LinkButton diagbtnPrint = (LinkButton)diagcommandItem.FindControl("master_PrintFriendly");
string printurl = "ClinicalPathways/ClinicalPathwaysrpt.aspx";
diagbtnPrint.Attributes.Add("onclick", "javascript:window.open('" + printurl + "', '', '');");
if (IsMasterExpanded || IsDetailExpanded)
{
diagbtnAdd.Enabled=false;
diagbtnEditSelected.Enabled=false;
diagbtnDelete.Enabled = false;
}
if (hdnCommandName.Value == "master_initinsert" || hdnCommandName.Value == "master_editselected")
{
diagbtnAdd.Visible = false;
diagbtnEditSelected.Visible = false;
diagbtnDelete.Visible = false;
diagbtnCancel.Visible = true;
}
if (hdnCommandName.Value == "master_initinsert")
diaglnkPerformInsert.Visible = true;
if (hdnCommandName.Value == "master_editselected")
diagbtnUpdateEdited.Visible = true;
if (hdnCommandName.Value == "master_performinsert" || hdnCommandName.Value == "master_update" || hdnCommandName.Value == "master_cancelall")
{
diagbtnAdd.Visible = true;
diagbtnEditSelected.Visible = true;
diagbtnDelete.Visible = true;
diaglnkPerformInsert.Visible = false;
diagbtnUpdateEdited.Visible = false;
diagbtnCancel.Visible = false;
}
}
if (e.Item is GridCommandItem && e.Item.OwnerTableView.Name == "Detail2")
{
GridCommandItem visitcommandItem = (GridCommandItem)e.Item;
LinkButton visitbtnAdd = (LinkButton)visitcommandItem.FindControl("det2_btnAdd");
LinkButton visitlnkPerformInsert = (LinkButton)visitcommandItem.FindControl("det2_lnkPerformInsert");
LinkButton visitbtnEditSelected = (LinkButton)visitcommandItem.FindControl("det2_btnEditSelected");
LinkButton visitbtnUpdateEdited = (LinkButton)visitcommandItem.FindControl("det2_btnUpdateEdited");
LinkButton visitbtnCancel = (LinkButton)visitcommandItem.FindControl("det2_btnCancel");
LinkButton visitbtnDelete = (LinkButton)visitcommandItem.FindControl("det2_btnDelete");
if (IsDetailExpanded)
{
visitbtnAdd.Enabled = false;
visitbtnEditSelected.Enabled = false;
visitbtnDelete.Enabled = false;
}
if (hdnCommandName.Value == "det2_initinsert" || hdnCommandName.Value == "det2_editselected")
{
visitbtnAdd.Visible = false;
visitbtnEditSelected.Visible = false;
visitbtnDelete.Visible = false;
visitbtnCancel.Visible = true;
}
if (hdnCommandName.Value == "det2_initinsert")
visitlnkPerformInsert.Visible = true;
if (hdnCommandName.Value == "det2_editselected")
visitbtnUpdateEdited.Visible = true;
if (hdnCommandName.Value == "det2_performinsert" || hdnCommandName.Value == "det2_update" || hdnCommandName.Value == "det2_cancelall")
{
visitbtnAdd.Visible = true;
visitbtnEditSelected.Visible = true;
visitbtnDelete.Visible = true;
visitlnkPerformInsert.Visible = false;
visitbtnUpdateEdited.Visible = false;
visitbtnCancel.Visible = false;
}
}
if (e.Item is GridCommandItem && e.Item.OwnerTableView.Name == "Detail3")
{
GridCommandItem inscommandItem = (GridCommandItem)e.Item;
LinkButton insbtnAdd = (LinkButton)inscommandItem.FindControl("det3_btnAdd");
LinkButton inslnkPerformInsert = (LinkButton)inscommandItem.FindControl("det3_lnkPerformInsert");
LinkButton insbtnEditSelected = (LinkButton)inscommandItem.FindControl("det3_btnEditSelected");
LinkButton insbtnUpdateEdited = (LinkButton)inscommandItem.FindControl("det3_btnUpdateEdited");
LinkButton insbtnCancel = (LinkButton)inscommandItem.FindControl("det3_btnCancel");
LinkButton insbtnDelete = (LinkButton)inscommandItem.FindControl("det3_btnDelete");
if (hdnCommandName.Value == "det3_initinsert" || hdnCommandName.Value == "det3_editselected")
{
insbtnAdd.Visible = false;
insbtnEditSelected.Visible = false;
insbtnDelete.Visible = false;
insbtnCancel.Visible = true;
}
if (hdnCommandName.Value == "det3_initinsert")
inslnkPerformInsert.Visible = true;
if (hdnCommandName.Value == "det3_editselected")
insbtnUpdateEdited.Visible = true;
if (hdnCommandName.Value == "det3_performinsert" || hdnCommandName.Value == "det3_update" || hdnCommandName.Value == "det3_cancelall")
{
insbtnAdd.Visible = true;
insbtnEditSelected.Visible = true;
insbtnDelete.Visible = true;
inslnkPerformInsert.Visible = false;
insbtnCancel.Visible = false;
}
}
}
protected void gridCPDiag_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.ExpandCollapseCommandName)
{
foreach (GridItem item in e.Item.OwnerTableView.Items)
{
if (item.Expanded && item != e.Item)
{
item.Expanded = false;
this.ExpandedStates.Remove(item.ItemIndexHierarchical);
this.ClearExpandedChildren(item.ItemIndexHierarchical);
}
}
if (!e.Item.Expanded)
{
this.ExpandedStates[e.Item.ItemIndexHierarchical] = true;
}
else
{
this.ExpandedStates.Remove(e.Item.ItemIndexHierarchical);
this.ClearExpandedChildren(e.Item.ItemIndexHierarchical);
}
if (e.Item.OwnerTableView.Name == "Master")
{
GridCommandItem commandItem = (GridCommandItem)gridCPDiag.MasterTableView.GetItems(GridItemType.CommandItem)[0];
LinkButton diagbtnAdd = (LinkButton)commandItem.FindControl("master_btnAdd");
LinkButton diagbtnEditSelected = (LinkButton)commandItem.FindControl("master_btnEditSelected");
LinkButton diagbtnDelete = (LinkButton)commandItem.FindControl("master_btnDelete");
if (!e.Item.Expanded)
{
IsMasterExpanded = true;
diagbtnAdd.Enabled = false;
diagbtnEditSelected.Enabled = false;
diagbtnDelete.Enabled = false;
}
else
{
IsMasterExpanded = false;
diagbtnAdd.Enabled = true;
diagbtnEditSelected.Enabled = true;
diagbtnDelete.Enabled = true;
}
}
if (e.Item.OwnerTableView.Name == "Detail2")
{
int countOfExpandedItems = 0;
foreach (GridDataItem masterItem in gridCPDiag.MasterTableView.Items)
{
IsDetailExpanded = false;
if (masterItem.Expanded)
{
GridCommandItem commandItem = (GridCommandItem)masterItem.ChildItem.NestedTableViews[0].GetItems(GridItemType.CommandItem)[0];
LinkButton visitbtnAdd = (LinkButton)commandItem.FindControl("det2_btnAdd");
LinkButton visitbtnEditSelected = (LinkButton)commandItem.FindControl("det2_btnEditSelected");
LinkButton visitbtnDelete = (LinkButton)commandItem.FindControl("det2_btnDelete");
countOfExpandedItems += 1;
visitbtnAdd.Enabled = (e.Item.Expanded && countOfExpandedItems == 1);
visitbtnEditSelected.Enabled = (e.Item.Expanded && countOfExpandedItems == 1);
visitbtnDelete.Enabled = (e.Item.Expanded && countOfExpandedItems == 1);
IsDetailExpanded = true;
}
}
}
}
if (e.Item.OwnerTableView.Name == "Master")
{
if (e.Item is GridCommandItem)
{
if (e.CommandName == "InitInsert")
hdnCommandName.Value = "master_initinsert";
if (e.CommandName == "PerformInsert")
hdnCommandName.Value = "master_performinsert";
if (e.CommandName == "EditSelected")
hdnCommandName.Value = "master_editselected";
if (e.CommandName == "Update")
hdnCommandName.Value = "master_update";
if (e.CommandName == "CancelAll")
hdnCommandName.Value = "master_cancelall";
if (e.CommandName == "Delete")
hdnCommandName.Value = "master_delete";
}
}
if (e.Item.OwnerTableView.Name == "Detail2")
{
if (e.Item is GridCommandItem)
{
GridDataItem parentItem = e.Item.OwnerTableView.ParentItem;
SelectedCPDiag = (int)(parentItem.OwnerTableView.DataKeyValues[parentItem.ItemIndex]["cpd_id"]);
if (e.CommandName == "InitInsert")
{
hdnCommandName.Value = "det2_initinsert";
if (!e.Item.Expanded)
IsMasterExpanded = true;
else
IsMasterExpanded = false;
}
if (e.CommandName == "PerformInsert")
{
hdnCommandName.Value = "det2_performinsert";
GridEditableItem insertedItem = e.Item.OwnerTableView.GetInsertItem();
if (insertedItem.IsInEditMode)
{
int cpv_id = 0;
cpv_id = InsertVisitFreq(insertedItem);
e.Item.OwnerTableView.Rebind();
}
}
if (e.CommandName == "EditSelected")
{
hdnCommandName.Value = "det2_editselected";
if (!e.Item.Expanded)
IsMasterExpanded = true;
else
IsMasterExpanded = false;
}
if (e.CommandName == "Update")
{
hdnCommandName.Value = "det2_update";
GridTableView table = (GridTableView)e.Item.OwnerTableView;
foreach (GridEditableItem editItem in table.GetItems(GridItemType.EditItem))
{
string cpid = editItem.GetDataKeyValue("cp_id").ToString();
TextBox txtVisitFreq = (TextBox)editItem.FindControl("tbVisit");
TextBox txtVisitSortOrder = (TextBox)editItem.FindControl("tbVisitSortOrder");
UpdateVisitFreq(cpid, txtVisitFreq.Text, Convert.ToInt32(txtVisitSortOrder.Text));
editItem.Edit = false;
}
}
if (e.CommandName == "CancelAll")
{
hdnCommandName.Value = "det2_cancelall";
}
if (e.CommandName == "Delete")
{
hdnCommandName.Value = "det2_delete";
GridTableView table = (GridTableView)e.Item.OwnerTableView;
foreach (GridDataItem childitem in table.Items)
{
if (childitem.Selected)
{
int cpid = Convert.ToInt32(childitem.GetDataKeyValue("cp_id"));
string desc = childitem.Cells[3].Text;
DeleteVisitFreq(cpid, desc);
}
}
table.Rebind();
}
}
}
if (e.Item.OwnerTableView.Name == "Detail3")
{
GridDataItem parentItem = e.Item.OwnerTableView.ParentItem;
SelectedCPVisitFreq = (int)(parentItem.OwnerTableView.DataKeyValues[parentItem.ItemIndex]["cp_id"]);
if (e.CommandName == "InitInsert")
{
hdnCommandName.Value = "det3_initinsert";
if (!e.Item.Expanded)
IsDetailExpanded = true;
else
IsDetailExpanded = false;
}
if (e.CommandName == "PerformInsert")
{
hdnCommandName.Value = "det3_performinsert";
GridEditableItem insertedItem = e.Item.OwnerTableView.GetInsertItem();
if (insertedItem.IsInEditMode)
{
int cpi_id = 0;
cpi_id = InsertVFIns(insertedItem);
e.Canceled = true;
e.Item.OwnerTableView.Rebind();
}
}
if (e.CommandName == "EditSelected")
{
hdnCommandName.Value = "det3_editselected";
if (!e.Item.Expanded)
IsDetailExpanded = true;
else
IsDetailExpanded = false;
}
if (e.CommandName == "Update")
{
hdnCommandName.Value = "det3_update";
GridTableView table = (GridTableView)e.Item.OwnerTableView;
foreach (GridEditableItem editItem in table.GetItems(GridItemType.EditItem))
{
string cpiid = editItem.GetDataKeyValue("cpi_id").ToString();
TextBox txtInstr = (TextBox)editItem.FindControl("tbIns");
TextBox txtSortOrder = (TextBox)editItem.FindControl("tbSortOrder");
UpdateVFIns(cpiid, txtInstr.Text, Convert.ToInt32(txtSortOrder.Text));
editItem.Edit = false;
}
}
if (e.CommandName == "CancelAll")
{
hdnCommandName.Value = "det3_cancelall";
}
if (e.CommandName == "Delete")
{
hdnCommandName.Value = "det3_delete";
GridTableView table = (GridTableView)e.Item.OwnerTableView;
foreach (GridDataItem childitem in table.Items)
{
if (childitem.Selected)
{
int cpid = Convert.ToInt32(childitem.GetDataKeyValue("cpi_id"));
string desc = childitem.Cells[2].Text;
DeleteVFIns(cpid, desc);
}
}
table.Rebind();
}
}
}
I would really appreciate for any response.
Thanks!
Zel