or
<
telerik:RadGrid
ID
=
"RG_MENU_MenuItem"
runat
=
"server"
DataSourceID
=
"ods_MENU_MenuItem"
AutoGenerateColumns
=
"false"
AllowSorting
=
"false"
OnNeedDataSource
=
"RG_MENU_MenuItem_NeedDataSource"
OnColumnCreated
=
"RG_MENU_MenuItem_ColumnCreated"
OnItemDataBound
=
"RG_MENU_MenuItem_ItemDataBound"
OnItemCreated
=
"RG_MENU_MenuItem_ItemCreated"
OnItemCommand
=
"RG_MENU_MenuItem_ItemCommand"
OnInsertCommand
=
"RG_MENU_MenuItem_InsertCommand"
OnUpdateCommand
=
"RG_MENU_MenuItem_UpdateCommand"
OnDeleteCommand
=
"RG_MENU_MenuItem_DeleteCommand"
>
<
MasterTableView
HierarchyDefaultExpanded
=
"true"
HierarchyLoadMode
=
"Client"
AllowSorting
=
"false"
EditMode
=
"PopUp"
DataKeyNames
=
"MenuItemID, ParentItemID"
Width
=
"100%"
>
<
SelfHierarchySettings
ParentKeyName
=
"ParentItemID"
KeyName
=
"MenuItemID"
/>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"MenuItemID"
HeaderText
=
"ID"
SortExpression
=
"MenuItemID"
UniqueName
=
"MenuItemID"
DataType
=
"System.Int64"
AllowFiltering
=
"false"
ReadOnly
=
"true"
>
<
HeaderStyle
CssClass
=
"rgHeader column0"
/>
<
ItemStyle
CssClass
=
"column0"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"AppDescription"
HeaderText
=
"App Description"
SortExpression
=
"AppDescription"
UniqueName
=
"AppDescription"
CurrentFilterFunction
=
"Contains"
AutoPostBackOnFilter
=
"true"
>
<
HeaderStyle
CssClass
=
"rgHeader column1"
/>
<
ItemStyle
CssClass
=
"column1"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
DataField
=
"MenuInstanceID"
HeaderText
=
"Menu Instance"
SortExpression
=
"MenuInstanceID"
UniqueName
=
"MenuInstanceID"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"rcbMenuInstanceFilter"
runat
=
"server"
DataSourceID
=
"ods_MenuInstance"
DataTextField
=
"AppDescription"
DataValueField
=
"MenuInstanceID"
AllowCustomText
=
"true"
AppendDataBoundItems
=
"true"
Width
=
"100"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("MenuInstanceID").CurrentFilterValue %>'
OnClientSelectedIndexChanged="rcbMenuInstanceFilter_SelectedIndexChanged">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
""
Value
=
""
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"rsbMenuInstanceFilter"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function rcbMenuInstanceFilter_SelectedIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("MenuInstanceID", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("MenuInstance.AppDescription")%>
</
ItemTemplate
>
<
HeaderStyle
CssClass
=
"rgHeader column2"
/>
<
ItemStyle
CssClass
=
"column2"
/>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"PageID"
HeaderText
=
"Page"
SortExpression
=
"PageID"
UniqueName
=
"PageID"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"rcbPageFilter"
runat
=
"server"
DataSourceID
=
"ods_Page"
DataTextField
=
"AppDescription"
DataValueField
=
"PageID"
AllowCustomText
=
"true"
AppendDataBoundItems
=
"true"
Width
=
"100"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("PageID").CurrentFilterValue %>'
OnClientSelectedIndexChanged="rcbPageFilter_SelectedIndexChanged">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
""
Value
=
""
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"rsbPageFilter"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function rcbPageFilter_SelectedIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("PageID", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("Page.AppDescription")%>
</
ItemTemplate
>
<
HeaderStyle
CssClass
=
"rgHeader column3"
/>
<
ItemStyle
CssClass
=
"column3"
/>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
DataField
=
"WebOrder"
HeaderText
=
"Web Order"
SortExpression
=
"WebOrder"
UniqueName
=
"WebOrder"
DataType
=
"System.Int32"
FilterControlWidth
=
"25px"
>
<
HeaderStyle
CssClass
=
"rgHeader column5"
/>
<
ItemStyle
CssClass
=
"column5"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"IsActive"
HeaderText
=
"Is Active"
SortExpression
=
"IsActive"
UniqueName
=
"IsActive"
DataType
=
"System.Boolean"
>
<
HeaderStyle
CssClass
=
"rgHeader column6"
/>
<
ItemStyle
CssClass
=
"column6"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"TimeStamp"
DataType
=
"System.DateTime"
HeaderText
=
"Time Stamp"
SortExpression
=
"TimeStamp"
UniqueName
=
"TimeStamp"
AllowFiltering
=
"false"
>
<
HeaderStyle
CssClass
=
"rgHeader column10"
/>
<
ItemStyle
CssClass
=
"column10"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
CommandName
=
"CustomEdit"
ButtonType
=
"ImageButton"
UniqueName
=
"EditColumn"
ImageUrl
=
"~/_Med_App/images/edit.gif"
>
<
HeaderStyle
CssClass
=
"rgHeader column11"
/>
<
ItemStyle
CssClass
=
"column11"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
ConfirmText
=
"Jeste li sigurni da želite obrisati odabranu stavku?"
CommandName
=
"Delete"
ButtonType
=
"ImageButton"
UniqueName
=
"DeleteColumn"
>
<
HeaderStyle
CssClass
=
"rgHeader column12"
/>
<
ItemStyle
CssClass
=
"column12"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"SelectColumn"
AllowFiltering
=
"true"
Display
=
"false"
>
<
FilterTemplate
>
<
asp:CheckBox
ID
=
"cbxSelectAllForSync"
runat
=
"server"
AutoPostBack
=
"true"
OnCheckedChanged
=
"SelectAll_CheckedChanged"
/>
</
FilterTemplate
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"cbxSelectForSync"
runat
=
"server"
/>
</
ItemTemplate
>
<
HeaderStyle
CssClass
=
"rgHeader column13"
/>
<
ItemStyle
CssClass
=
"column13"
/>
</
telerik:GridTemplateColumn
>
</
Columns
>
<
EditFormSettings
EditFormType
=
"Template"
>
<
EditColumn
UniqueName
=
"EditCommandColumn1"
></
EditColumn
>
<
FormTemplate
>
<
table
class
=
"edit-table-rad"
cellspacing
=
"2"
cellpadding
=
"1"
width
=
"100%"
border
=
"0"
>
<
tr
>
<
td
align
=
"left"
width
=
"200px"
>
<
b
>MenuItemID:</
b
>
</
td
>
<
td
>
<%# Eval("MenuItemID").ToString()%>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
width
=
"200px"
>
<
b
>ParentItem:</
b
>
</
td
>
<
td
width
=
"350px"
>
<
telerik:RadComboBox
ID
=
"rcbParentItemID"
runat
=
"server"
DataSourceID
=
"ods_MENU_ParentMenuItem"
DataTextField
=
"AppDescription"
DataValueField
=
"MenuItemID"
AppendDataBoundItems
=
"true"
AllowCustomText
=
"true"
Filter
=
"StartsWith"
Width
=
"350px"
>
<
Items
>
<
telerik:RadComboBoxItem
Text
=
""
Value
=
""
/>
</
Items
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
width
=
"200px"
>
<
b
>Menu Instance:</
b
>
</
td
>
<
td
width
=
"350px"
>
<
telerik:RadComboBox
ID
=
"rcbMenuInstanceID"
runat
=
"server"
DataSourceID
=
"ods_MenuInstance"
DataTextField
=
"AppDescription"
DataValueField
=
"MenuInstanceID"
AllowCustomText
=
"true"
Width
=
"350px"
>
</
telerik:RadComboBox
>
</
td
>
<
td
>
<
asp:RequiredFieldValidator
ID
=
"rfvMenuInstanceID"
runat
=
"server"
ControlToValidate
=
"rcbMenuInstanceID"
ErrorMessage
=
"Obavezan unos!"
ForeColor
=
"Red"
>
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
width
=
"200px"
>
<
b
>Page:</
b
>
</
td
>
<
td
width
=
"350px"
>
<
telerik:RadComboBox
ID
=
"rcbPageID"
runat
=
"server"
DataSourceID
=
"ods_Page"
DataTextField
=
"AppDescription"
DataValueField
=
"PageID"
AppendDataBoundItems
=
"True"
AllowCustomText
=
"true"
Width
=
"350px"
>
<
Items
>
<
telerik:RadComboBoxItem
Text
=
""
Value
=
""
/>
</
Items
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
width
=
"200px"
>
<
b
>Menu Item Url:</
b
>
</
td
>
<
td
width
=
"350px"
>
<
telerik:RadTextBox
ID
=
"txtMenuItemUrl"
runat
=
"server"
Width
=
"350px"
/>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
width
=
"200px"
>
<
b
>App Description:</
b
>
</
td
>
<
td
width
=
"350px"
>
<
telerik:RadTextBox
ID
=
"txtAppDescription"
runat
=
"server"
Width
=
"350px"
/>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
width
=
"200px"
>
<
b
>Web Order:</
b
>
</
td
>
<
td
width
=
"350px"
>
<
telerik:RadNumericTextBox
ID
=
"rnbWebOrder"
runat
=
"server"
NumberFormat-DecimalDigits
=
"0"
Width
=
"350px"
/>
</
td
>
<
td
>
<
asp:RequiredFieldValidator
ID
=
"rfvWebOrder"
runat
=
"server"
ControlToValidate
=
"rnbWebOrder"
ErrorMessage
=
"Obavezan unos!"
ForeColor
=
"Red"
>
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
width
=
"200px"
>
<
b
>Is Active:</
b
>
</
td
>
<
td
width
=
"350px"
>
<
asp:CheckBox
ID
=
"chbIsActive"
runat
=
"server"
Checked
=
"false"
/>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
width
=
"200px"
>
<
b
>Priority Factor:</
b
>
</
td
>
<
td
width
=
"350px"
>
<
telerik:RadNumericTextBox
ID
=
"rnbPriorityFactor"
runat
=
"server"
NumberFormat-DecimalDigits
=
"0"
Width
=
"350px"
/>
</
td
>
<
td
>
<
asp:RequiredFieldValidator
ID
=
"rfvPriorityFactor"
runat
=
"server"
ControlToValidate
=
"rnbPriorityFactor"
ErrorMessage
=
"Obavezan unos!"
ForeColor
=
"Red"
>
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
asp:Button
ID
=
"InsertUpdateButton"
runat
=
"server"
Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>' CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'></
asp:Button
>
<
asp:Button
ID
=
"CancelButton"
runat
=
"server"
Text
=
"Cancel"
CausesValidation
=
"false"
CommandName
=
"Cancel"
></
asp:Button
>
</
td
>
</
tr
>
</
table
>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
<
ClientSettings
AllowExpandCollapse
=
"true"
/>
</
telerik:RadGrid
>
using
System;
using
System.Collections;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
admin_bl;
using
admin_bo;
using
Telerik.Web.UI;
namespace
admin
{
public
partial
class
MENU_MenuItem_Hierarchy : bl_BasePage
{
#region "Properties"
private
string
_strAppMode =
string
.Empty;
private
Hashtable _htOdsValues;
private
bool
_isRowFound =
false
;
private
long
_lMenuInstanceIDFilter;
#endregion
#region "Page Load Methods"
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(IsPostBack)
return
;
SetGridDisplay();
SetInitialFilter();
}
public
void
Page_PreRenderComplete(
object
sender, EventArgs e)
{
HideExpandColumnRecursive(
this
.RG_MENU_MenuItem.MasterTableView);
}
/// <summary>
/// Changes the grid display based on the ApplicationMode
/// </summary>
private
void
SetGridDisplay()
{
this
._strAppMode = (Convert.ToInt32(bl_ApplicationData.AppMode)).ToString();
this
.txtAppMode.Text =
this
._strAppMode;
if
(bl_ApplicationData.AppMode == bl_ApplicationData.ApplicationMode.SYNCRONIZATION)
{
//disable insert, update & delete
this
.RG_MENU_MenuItem.AllowAutomaticInserts =
false
;
this
.RG_MENU_MenuItem.AllowAutomaticUpdates =
false
;
this
.RG_MENU_MenuItem.AllowAutomaticDeletes =
false
;
//hide edit & delete columns and show select column
this
.RG_MENU_MenuItem.MasterTableView.GetColumn(
"EditColumn"
).Display =
false
;
this
.RG_MENU_MenuItem.MasterTableView.GetColumn(
"DeleteColumn"
).Display =
false
;
this
.RG_MENU_MenuItem.MasterTableView.GetColumn(
"SelectColumn"
).Display =
true
;
//show buttons
this
.bDoSyncUP.Visible =
true
;
this
.bDoSyncDOWN.Visible =
true
;
// confirm message
this
.bDoSyncUP.Attributes.Add(
"OnClick"
,
"return confirm('Jeste li sigurni da želite pokrenuti sinkronizaciju? ');"
);
this
.bDoSyncDOWN.Attributes.Add(
"OnClick"
,
"return confirm('Jeste li sigurni da želite pokrenuti sinkronizaciju? ');"
);
//set sync legend colors and show it
this
.WUC_sync_legend1.bckColorInsert = bl_ApplicationData.BckColorInsert;
this
.WUC_sync_legend1.bckColorUpdate = bl_ApplicationData.BckColorUpdate;
this
.WUC_sync_legend1.bckColorDelete = bl_ApplicationData.BckColorDelete;
this
.WUC_sync_legend1.isSyncMode =
true
;
}
else
if
(bl_ApplicationData.AppMode == bl_ApplicationData.ApplicationMode.ADMINISTRATION)
{
this
.RG_MENU_MenuItem.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.Top;
}
}
private
void
SetInitialFilter()
{
this
.RG_MENU_MenuItem.MasterTableView.FilterExpression =
"(it.ParentItemID == 0)"
;
//glavni menu initial filter
this
.rcbMenuInstanceFilter.SelectedValue =
"8"
;
SetMenuInstanceFilter(
"8"
);
}
#endregion
#region "RadGrid Events"
protected
void
RG_MENU_MenuItem_NeedDataSource(
object
source, GridNeedDataSourceEventArgs e)
{
GetDataSource();
}
protected
void
RG_MENU_MenuItem_ColumnCreated(
object
sender, GridColumnCreatedEventArgs e)
{
if
(e.Column
is
GridExpandColumn)
{
e.Column.Visible =
false
;
}
else
if
(e.Column
is
GridBoundColumn)
{
e.Column.HeaderStyle.Width = Unit.Pixel(100);
}
}
protected
void
RG_MENU_MenuItem_ItemDataBound(
object
sender, GridItemEventArgs e)
{
CreateExpandCollapseButton(e.Item,
"MenuItemID"
);
}
protected
void
RG_MENU_MenuItem_ItemCreated(
object
sender, GridItemEventArgs e)
{
CreateExpandCollapseButton(e.Item,
"MenuItemID"
);
//e.Item.Expanded = false;
if
(e.Item
is
GridHeaderItem && e.Item.OwnerTableView !=
this
.RG_MENU_MenuItem.MasterTableView)
{
e.Item.Style[
"display"
] =
"none"
;
}
if
(e.Item
is
GridNestedViewItem)
{
e.Item.Cells[0].Visible =
false
;
}
if
(bl_ApplicationData.AppMode == bl_ApplicationData.ApplicationMode.ADMINISTRATION)
{
this
.ItemCreatedAdmin(e);
}
else
if
(bl_ApplicationData.AppMode == bl_ApplicationData.ApplicationMode.SYNCRONIZATION)
{
this
.ItemCreatedSync(e);
}
}
protected
void
RG_MENU_MenuItem_ItemCommand(
object
sender, GridCommandEventArgs e)
{
if
(e.CommandName ==
"CustomEdit"
)
{
EditRow(e);
}
}
protected
void
RG_MENU_MenuItem_InsertCommand(
object
sender, GridCommandEventArgs e)
{
GetValues(e);
Insert();
}
protected
void
RG_MENU_MenuItem_UpdateCommand(
object
sender, GridCommandEventArgs e)
{
GetValues(e);
Update(e);
}
protected
void
RG_MENU_MenuItem_DeleteCommand(
object
sender, GridCommandEventArgs e)
{
Delete(e);
}
public
void
SelectAll_CheckedChanged(
object
sender, EventArgs e)
{
this
.RG_MENU_MenuItem.Rebind();
foreach
(GridDataItem item
in
this
.RG_MENU_MenuItem.MasterTableView.Items)
{
(item.FindControl(
"cbxSelectForSync"
)
as
CheckBox).Checked = (sender
as
CheckBox).Checked;
}
}
#endregion
#region "Insert - Update - Delete"
private
void
Insert()
{
string
strMessage = String.Empty;
bool
isInserted =
false
;
new
bl_MENU_MenuItem().Insert(Convert.ToInt64(
this
._htOdsValues[
"ParentItemID"
])
, Convert.ToInt64(
this
._htOdsValues[
"MenuInstanceID"
])
, Convert.ToInt64(
this
._htOdsValues[
"PageID"
])
,
this
._htOdsValues[
"MenuItemUrl"
].ToString()
,
this
._htOdsValues[
"AppDescription"
].ToString()
, Convert.ToInt32(
this
._htOdsValues[
"WebOrder"
])
, Convert.ToBoolean(
this
._htOdsValues[
"IsActive"
])
,
base
.LoggedUser.UserID
, Convert.ToInt32(
this
._htOdsValues[
"PriorityFactor"
])
,
out
isInserted
,
out
strMessage);
DisplayMessage(!isInserted, strMessage);
}
private
void
Update(GridCommandEventArgs e)
{
string
strMessage = String.Empty;
bool
isUpdated =
false
;
long
lMenuItemID = Convert.ToInt64((e.Item
as
GridEditableItem).GetDataKeyValue(
"MenuItemID"
));
new
bl_MENU_MenuItem().Update(lMenuItemID
, Convert.ToInt64(
this
._htOdsValues[
"ParentItemID"
])
, Convert.ToInt64(
this
._htOdsValues[
"MenuInstanceID"
])
, Convert.ToInt64(
this
._htOdsValues[
"PageID"
])
,
this
._htOdsValues[
"MenuItemUrl"
].ToString()
,
this
._htOdsValues[
"AppDescription"
].ToString()
, Convert.ToInt32(
this
._htOdsValues[
"WebOrder"
])
, Convert.ToBoolean(
this
._htOdsValues[
"IsActive"
])
,
base
.LoggedUser.UserID
, Convert.ToInt32(
this
._htOdsValues[
"PriorityFactor"
])
,
out
isUpdated
,
out
strMessage);
DisplayMessage(!isUpdated, strMessage);
}
private
void
Delete(GridCommandEventArgs e)
{
string
strMessage = String.Empty;
bool
isDeleted =
false
;
long
lMenuItemID = Convert.ToInt64((e.Item
as
GridEditableItem).GetDataKeyValue(
"MenuItemID"
));
new
bl_MENU_MenuItem().Delete(lMenuItemID
,
out
isDeleted
,
out
strMessage);
DisplayMessage(!isDeleted, strMessage);
}
#endregion
#region "ObjectDataSource Events"
protected
void
ods_MENU_MenuItem_Inserting(
object
sender, ObjectDataSourceMethodEventArgs e)
{
SetOdsValues(e);
}
protected
void
ods_MENU_MenuItem_Updating(
object
sender, ObjectDataSourceMethodEventArgs e)
{
SetOdsValues(e);
}
protected
void
ods_MENU_MenuItem_Deleting(
object
sender, ObjectDataSourceMethodEventArgs e)
{
}
protected
void
ods_MENU_MenuItem_Inserted(
object
sender, ObjectDataSourceStatusEventArgs e)
{
DisplayMessage(!Convert.ToBoolean(e.OutputParameters[
"pIsInserted"
]), Convert.ToString(e.OutputParameters[
"pMessage"
]));
}
protected
void
ods_MENU_MenuItem_Updated(
object
sender, ObjectDataSourceStatusEventArgs e)
{
DisplayMessage(!Convert.ToBoolean(e.OutputParameters[
"pIsUpdated"
]), Convert.ToString(e.OutputParameters[
"pMessage"
]));
}
protected
void
ods_MENU_MenuItem_Deleted(
object
sender, ObjectDataSourceStatusEventArgs e)
{
DisplayMessage(!Convert.ToBoolean(e.OutputParameters[
"pIsDeleted"
]), Convert.ToString(e.OutputParameters[
"pMessage"
]));
}
#endregion
#region "Other Events"
protected
void
button_Click(
object
sender, EventArgs e)
{
((Button)sender).CssClass = (((Button)sender).CssClass ==
"rgExpand"
) ?
"rgCollapse"
:
"rgExpand"
;
}
protected
void
rcbMenuInstanceFilter_SelectedIndexChanged(
object
o, RadComboBoxSelectedIndexChangedEventArgs e)
{
SetMenuInstanceFilter(e.Value);
}
#endregion
#region "Utility Methods"
public
void
GetDataSource()
{
RG_MENU_MenuItem.DataSource =
new
bl_MENU_MenuItem().GetAll(
this
.txtSortExpression.Text
, Convert.ToBoolean(
this
.txtSortDirection.Text)
,
this
.txtAppMode.Text);
}
public
void
HideExpandColumnRecursive(GridTableView pTableView)
{
GridItem[] nestedViewItems = pTableView.GetItems(GridItemType.NestedView);
foreach
(GridNestedViewItem nestedViewItem
in
nestedViewItems)
{
foreach
(GridTableView nestedView
in
nestedViewItem.NestedTableViews)
{
nestedView.Style[
"border"
] =
"0"
;
Button btnExpandCollapseButton = (Button)nestedView.ParentItem.FindControl(
"btnExpandCollapseButton"
);
if
(nestedView.Items.Count == 0)
{
if
(btnExpandCollapseButton !=
null
)
{
btnExpandCollapseButton.Style[
"visibility"
] =
"hidden"
;
}
nestedViewItem.Visible =
false
;
}
else
{
if
(btnExpandCollapseButton !=
null
)
{
btnExpandCollapseButton.Style.Remove(
"visibility"
);
}
}
if
(nestedView.HasDetailTables)
{
HideExpandColumnRecursive(nestedView);
}
}
}
}
public
void
CreateExpandCollapseButton(GridItem pItem,
string
pColumnUniqueName)
{
if
(pItem
is
GridDataItem)
{
if
(pItem.FindControl(
"btnExpandCollapseButton"
) ==
null
)
{
Button button =
new
Button();
button.Click +=
new
EventHandler(button_Click);
button.CommandName =
"ExpandCollapse"
;
button.CssClass = (pItem.Expanded) ?
"rgCollapse"
:
"rgExpand"
;
button.ID =
"btnExpandCollapseButton"
;
if
(pItem.OwnerTableView.HierarchyLoadMode == GridChildLoadMode.Client)
{
string
script = String.Format(@
"$find("
"{0}"
")._toggleExpand(this, event); return false;"
, pItem.Parent.Parent.ClientID);
button.OnClientClick = script;
}
int
level = pItem.ItemIndexHierarchical.Split(
':'
).Length - 1;
button.Style[
"margin-left"
] = level * 15 +
"px"
;
TableCell cell = ((GridDataItem)pItem)[pColumnUniqueName];
cell.Controls.Add(button);
cell.Controls.Add(
new
LiteralControl(
" "
));
cell.Controls.Add(
new
LiteralControl(((GridDataItem)pItem).GetDataKeyValue(pColumnUniqueName).ToString()));
}
}
}
private
void
DisplayMessage(
bool
pIsError,
string
pText)
{
if
(pIsError ==
true
)
{
this
.lblActionNotOk.Visible =
true
;
this
.lblActionNotOk.Text = pText;
this
.lblActionOk.Visible =
false
;
}
else
{
this
.lblActionOk.Visible =
true
;
this
.lblActionOk.Text = pText;
this
.lblActionNotOk.Visible =
false
;
}
}
private
void
ItemCreatedAdmin(GridItemEventArgs e)
{
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
GridEditFormItem geiEditedItem = e.Item
as
GridEditFormItem;
geiEditedItem.Visible =
true
;
if
(e.Item.DataItem
is
bo_MENU_MenuItem)
{
bo_MENU_MenuItem boCurrent = (bo_MENU_MenuItem)e.Item.DataItem;
RadComboBox rcbParentItemID = geiEditedItem.FindControl(
"rcbParentItemID"
)
as
RadComboBox;
rcbParentItemID.SelectedValue = boCurrent.ParentItemID != 0 ? boCurrent.ParentItemID.ToString() :
""
;
RadComboBox rcbMenuInstanceID = geiEditedItem.FindControl(
"rcbMenuInstanceID"
)
as
RadComboBox;
rcbMenuInstanceID.SelectedValue = boCurrent.MenuInstance.MenuInstanceID.ToString();
RadComboBox rcbPageID = geiEditedItem.FindControl(
"rcbPageID"
)
as
RadComboBox;
rcbPageID.SelectedValue = boCurrent.Page.PageID != 0 ? boCurrent.Page.PageID.ToString() : String.Empty;
RadTextBox txtMenuItemUrl = geiEditedItem.FindControl(
"txtMenuItemUrl"
)
as
RadTextBox;
txtMenuItemUrl.Text = boCurrent.MenuItemUrl.ToString();
RadTextBox txtAppDescription = geiEditedItem.FindControl(
"txtAppDescription"
)
as
RadTextBox;
txtAppDescription.Text = boCurrent.AppDescription.ToString();
RadNumericTextBox rnbWebOrder = geiEditedItem.FindControl(
"rnbWebOrder"
)
as
RadNumericTextBox;
rnbWebOrder.Text = boCurrent.WebOrder.ToString();
CheckBox chbIsActive = geiEditedItem.FindControl(
"chbIsActive"
)
as
CheckBox;
chbIsActive.Checked = boCurrent.IsActive;
RadNumericTextBox rnbPriorityFactor = geiEditedItem.FindControl(
"rnbPriorityFactor"
)
as
RadNumericTextBox;
rnbPriorityFactor.Text = boCurrent.PriorityFactor.ToString();
}
}
}
private
void
ItemCreatedSync(GridItemEventArgs e)
{
}
private
void
GetValues(GridCommandEventArgs e)
{
this
._htOdsValues =
new
Hashtable();
this
._htOdsValues.Add(
"ParentItemID"
, Convert.ToInt64(((e.Item
as
GridEditableItem).FindControl(
"rcbParentItemID"
)
as
RadComboBox).SelectedValue != String.Empty ? ((e.Item
as
GridEditableItem).FindControl(
"rcbParentItemID"
)
as
RadComboBox).SelectedValue :
"0"
));
this
._htOdsValues.Add(
"MenuInstanceID"
, Convert.ToInt64(((e.Item
as
GridEditableItem).FindControl(
"rcbMenuInstanceID"
)
as
RadComboBox).SelectedValue));
this
._htOdsValues.Add(
"PageID"
, Convert.ToInt64(((e.Item
as
GridEditableItem).FindControl(
"rcbPageID"
)
as
RadComboBox).SelectedValue != String.Empty ? ((e.Item
as
GridEditableItem).FindControl(
"rcbPageID"
)
as
RadComboBox).SelectedValue :
"0"
));
this
._htOdsValues.Add(
"MenuItemUrl"
, ((e.Item
as
GridEditableItem).FindControl(
"txtMenuItemUrl"
)
as
RadTextBox).Text);
this
._htOdsValues.Add(
"AppDescription"
, ((e.Item
as
GridEditableItem).FindControl(
"txtAppDescription"
)
as
RadTextBox).Text);
this
._htOdsValues.Add(
"WebOrder"
, Convert.ToInt32(((e.Item
as
GridEditableItem).FindControl(
"rnbWebOrder"
)
as
RadNumericTextBox).Text));
this
._htOdsValues.Add(
"IsActive"
, ((e.Item
as
GridEditableItem).FindControl(
"chbIsActive"
)
as
CheckBox).Checked);
this
._htOdsValues.Add(
"PriorityFactor"
, Convert.ToInt32(((e.Item
as
GridEditableItem).FindControl(
"rnbPriorityFactor"
)
as
RadNumericTextBox).Text));
}
private
void
SetOdsValues(ObjectDataSourceMethodEventArgs e)
{
e.InputParameters[
"ParentItemID"
] =
this
._htOdsValues[
"ParentItemID"
];
e.InputParameters[
"MenuInstanceID"
] =
this
._htOdsValues[
"MenuInstanceID"
];
e.InputParameters[
"PageID"
] =
this
._htOdsValues[
"PageID"
];
e.InputParameters[
"MenuItemUrl"
] =
this
._htOdsValues[
"MenuItemUrl"
];
e.InputParameters[
"AppDescription"
] =
this
._htOdsValues[
"AppDescription"
];
e.InputParameters[
"WebOrder"
] =
this
._htOdsValues[
"WebOrder"
];
e.InputParameters[
"IsActive"
] =
this
._htOdsValues[
"IsActive"
];
e.InputParameters[
"UserID"
] =
base
.LoggedUser.UserID;
e.InputParameters[
"PriorityFactor"
] =
this
._htOdsValues[
"PriorityFactor"
];
}
private
void
EditRow(GridCommandEventArgs e)
{
if
(e.Item
is
GridDataItem)
{
GridDataItem gdiItem = (GridDataItem)e.Item;
long
lMenuItemID = Convert.ToInt64(gdiItem.GetDataKeyValue(
"MenuItemID"
));
this
._isRowFound =
false
;
if
(
this
.RG_MENU_MenuItem.MasterTableView.FindItemByKeyValue(
"MenuItemID"
, lMenuItemID) !=
null
)
this
.RG_MENU_MenuItem.MasterTableView.FindItemByKeyValue(
"MenuItemID"
, lMenuItemID).Edit =
true
;
else
EditRowRecursive(
this
.RG_MENU_MenuItem.MasterTableView, lMenuItemID);
this
.RG_MENU_MenuItem.Rebind();
}
}
private
void
EditRowRecursive(GridTableView pTableView,
long
pMenuItemID)
{
GridItem[] nestedViewItems = pTableView.GetItems(GridItemType.NestedView);
foreach
(GridNestedViewItem nestedViewItem
in
nestedViewItems)
{
if
(
this
._isRowFound)
return
;
foreach
(GridTableView nestedView
in
nestedViewItem.NestedTableViews)
{
if
(nestedView.FindItemByKeyValue(
"MenuItemID"
, pMenuItemID) !=
null
)
{
nestedView.FindItemByKeyValue(
"MenuItemID"
, pMenuItemID).Edit =
true
;
this
._isRowFound =
true
;
return
;
}
if
(nestedView.HasDetailTables)
{
EditRowRecursive(nestedView, pMenuItemID);
}
}
}
}
private
void
SetMenuInstanceFilter(
string
pMenuInstanceID)
{
this
._lMenuInstanceIDFilter = Convert.ToInt64(pMenuInstanceID.Equals(String.Empty) ?
"0"
: pMenuInstanceID);
this
.locTitle.Text =
"Uređivanje Stavki Menua"
;
this
.RG_MENU_MenuItem.MasterTableView.FilterExpression =
"(it.ParentItemID == 0)"
;
this
.txtMenuInstanceID.Text =
this
._lMenuInstanceIDFilter.ToString();
GridColumn gdcMenuInstanceID =
this
.RG_MENU_MenuItem.MasterTableView.GetColumnSafe(
"MenuInstanceID"
);
if
(
this
._lMenuInstanceIDFilter == 0)
{
gdcMenuInstanceID.CurrentFilterFunction = GridKnownFunction.NoFilter;
gdcMenuInstanceID.CurrentFilterValue = String.Empty;
}
else
{
this
.locTitle.Text +=
" za MenuInstanceID = "
+
this
.txtMenuInstanceID.Text;
this
.RG_MENU_MenuItem.MasterTableView.FilterExpression +=
" AND (it.MenuInstanceID == "
+
this
.txtMenuInstanceID.Text +
")"
;
gdcMenuInstanceID.CurrentFilterFunction = GridKnownFunction.EqualTo;
gdcMenuInstanceID.CurrentFilterValue =
this
.txtMenuInstanceID.Text;
}
this
.RG_MENU_MenuItem.MasterTableView.Rebind();
}
#endregion
#endregion
}
}
<
telerik:RadGrid
ID
=
"RadGridJobs"
runat
=
"server"
AutoGenerateColumns
=
"False"
AllowPaging
=
"True"
PageSize
=
"25"
AllowSorting
=
"false"
GridLines
=
"None"
Width
=
"885px"
Skin
=
"Office2007"
SkinID
=
"RadGrid_UnPageable"
OnNeedDataSource
=
"RadGridJobs_NeedDataSource"
OnUpdateCommand
=
"RadGridJobs_UpdateCommand"
OnDeleteCommand
=
"RadGridJobs_DeleteCommand"
OnItemCreated
=
"RadGridJobs_ItemCreated"
>
<
MasterTableView
ClientDataKeyNames
=
"OID"
DataKeyNames
=
"OID"
CommandItemDisplay
=
"Top"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"PharmacyName"
HeaderText
=
"Pharmacy"
ReadOnly
=
"True"
SortExpression
=
"PharmacyName"
UniqueName
=
"columnPharmacy"
/>
<
telerik:GridBoundColumn
DataField
=
"CoordinatorName"
HeaderText
=
"Coordinator"
ReadOnly
=
"true"
SortExpression
=
"CoordinatorName"
UniqueName
=
"columnCoordinator"
/>
<
telerik:GridBoundColumn
DataField
=
"JobDate"
HeaderText
=
"Date"
ReadOnly
=
"true"
SortExpression
=
"JobDate"
UniqueName
=
"columnDate"
DataType
=
"System.DateTime"
DataFormatString
=
"{0:dd-MMM-yyyy}"
/>
<
telerik:GridBoundColumn
DataField
=
"StartTime"
HeaderText
=
"Start"
UniqueName
=
"columnStart"
DataType
=
"System.DateTime"
DataFormatString
=
"{0:hh:mm tt}"
/>
<
telerik:GridBoundColumn
DataField
=
"EndTime"
HeaderText
=
"End"
UniqueName
=
"columnEnd"
DataType
=
"System.DateTime"
DataFormatString
=
"{0:hh:mm tt}"
/>
<
telerik:GridBoundColumn
DataField
=
"Rate"
HeaderText
=
"Rate"
UniqueName
=
"columnRate"
DataType
=
"System.Decimal"
DataFormatString
=
"{0:c}"
/>
<
telerik:GridBoundColumn
DataField
=
"RatePlus"
HeaderText
=
"Rate +"
UniqueName
=
"columnRatePlus"
DataType
=
"System.Decimal"
DataFormatString
=
"{0:c}"
/>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
/>
<
telerik:GridButtonColumn
ConfirmText
=
"Delete this Job?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
ButtonType
=
"ImageButton"
CommandName
=
"Delete"
/>
<
telerik:GridTemplateColumn
HeaderText
=
""
UniqueName
=
"NoteColumn"
HeaderStyle-Width
=
"10px"
ItemStyle-Width
=
"10px"
>
<
ItemTemplate
>
<
a
href
=
"../Notes/NotesManager.aspx?RecordID=<%# Eval("
OID") %>&NoteTypeID=3">
<
asp:Image
ID
=
"ImageEditNote"
runat
=
"server"
ImageUrl
=
"~/Images/notes-icon.gif"
AlternateText
=
"Add notes"
Width
=
"15px"
ToolTip
=
"Add notes"
/>
</
a
>
</
ItemTemplate
>
<
HeaderStyle
Width
=
"10px"
></
HeaderStyle
>
<
ItemStyle
Width
=
"10px"
></
ItemStyle
>
</
telerik:GridTemplateColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
ButtonType
=
"ImageButton"
/>
</
EditFormSettings
>
<
CommandItemSettings
ShowRefreshButton
=
"true"
ShowAddNewRecordButton
=
"false"
ShowExportToWordButton
=
"false"
ShowExportToExcelButton
=
"true"
ShowExportToPdfButton
=
"true"
ShowExportToCsvButton
=
"true"
/>
<
PagerStyle
AlwaysVisible
=
"true"
Mode
=
"NextPrevAndNumeric"
Position
=
"TopAndBottom"
/>
</
MasterTableView
>
<
ExportSettings
HideStructureColumns
=
"false"
/>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"True"
/>
<
ClientEvents
OnRowDblClick
=
"RadGridJobs_OnRowDblClick"
/>
<
Scrolling
UseStaticHeaders
=
"True"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
<
telerik:RadInputManager
runat
=
"server"
ID
=
"RadInputManagerJobs"
Enabled
=
"true"
>
<
telerik:DateInputSetting
BehaviorID
=
"DateInputSettingStartEnd"
DateFormat
=
"hh:mm:ss tt"
DisplayDateFormat
=
"hh:mm tt"
EmptyMessage
=
"Cannot be empty"
ErrorMessage
=
"Enter valid time"
/>
<
telerik:NumericTextBoxSetting
BehaviorID
=
"NumericTextBoxSettingRate"
Type
=
"Currency"
AllowRounding
=
"true"
DecimalDigits
=
"2"
MinValue
=
"0"
EmptyMessage
=
"Cannot be empty"
ErrorMessage
=
"Enter valid currency"
/>
</
telerik:RadInputManager
>
ScriptManager.RegisterStartupScript(this, this.GetType(), this.ClientID + "_SplitterBarStartupScript", sb.ToString(), true); |
var tsCoding = $find("<%= tsCoding.ClientID %>");
var selectedTab = tsCoding.get_selectedTab();
if (selectedTab != null) {