or
<
div
class
=
"WebpageManagementBox"
>
<
br
/><
br
/>
<
asp:Label
ID
=
"lblRolePrompt"
Text
=
"Select Role to associate web pages:"
CssClass
=
"box_Labels"
runat
=
"server"
></
asp:Label
>
<
br
/>
<
telerik:RadDropDownList
ID
=
"ddlRoles"
runat
=
"server"
CssClass
=
"wepageManagementDropDown"
Width
=
"200px"
DataTextField
=
"role"
DataValueField
=
"ID"
AutoPostBack
=
"true"
OnItemSelected
=
"ddlRoles_ItemSelected"
></
telerik:RadDropDownList
>
<
br
/>
<
br
/>
<
telerik:RadGrid
ID
=
"RadGridwebpagemanagement"
CssClass
=
"webpageManagementGrid"
MasterTableView-DataKeyNames
=
"ID"
runat
=
"server"
AllowFilteringByColumn
=
"True"
AllowSorting
=
"True"
GroupPanelPosition
=
"Top"
OnNeedDataSource
=
"RadGridwebpagemanagement_NeedDataSource"
OnUpdateCommand
=
"RadGridwebpagemanagement_UpdateCommand"
OnItemDataBound
=
"RadGridwebpagemanagement_ItemDataBound"
OnDeleteCommand
=
"RadGridwebpagemanagement_DeleteCommand"
OnInsertCommand
=
"RadGridwebpagemanagement_InsertCommand"
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"True"
UseStaticHeaders
=
"True"
/>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
MasterTableView
AutoGenerateColumns
=
"false"
CommandItemDisplay
=
"Top"
CommandItemSettings-AddNewRecordText
=
"Add New Webpage"
InsertItemPageIndexAction
=
"ShowItemOnCurrentPage"
>
<
columns
>
<
telerik:GridBoundColumn
DataField
=
"webpage_name"
HeaderText
=
"Web Page"
UniqueName
=
"webpage_name"
ItemStyle-Font-Names
=
"Arial"
ItemStyle-Font-Bold
=
"true"
FilterControlWidth
=
"200px"
>
<
HeaderStyle
Width
=
"230px"
Font-Names
=
"Arial"
/>
<
ItemStyle
Width
=
"230px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"add_privledge"
HeaderText
=
"Allow Adds"
UniqueName
=
"add_privledge"
FilterControlWidth
=
"120px"
>
<
HeaderStyle
Width
=
"120px"
Font-Names
=
"Arial"
/>
<
ItemStyle
Width
=
"120px"
/>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"edit_privledge"
HeaderText
=
"Allow Edits"
UniqueName
=
"edit_privledge"
FilterControlWidth
=
"120px"
>
<
HeaderStyle
Width
=
"120px"
Font-Names
=
"Arial"
/>
<
ItemStyle
Width
=
"120px"
/>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"delete_privledge"
HeaderText
=
"Allow Deletes"
UniqueName
=
"delete_privledge"
FilterControlWidth
=
"120px"
>
<
HeaderStyle
Width
=
"120px"
Font-Names
=
"Arial"
/>
<
ItemStyle
Width
=
"120px"
/>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridEditCommandColumn
ButtonType
=
"LinkButton"
EditText
=
"Edit"
CancelText
=
"Cancel"
ItemStyle-Width
=
"50px"
HeaderStyle-Width
=
"50px"
FilterControlWidth
=
"50px"
/>
<
telerik:GridButtonColumn
ConfirmText
=
"Delete this product?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
ButtonType
=
"LinkButton"
Text
=
"Delete"
CommandName
=
"Delete"
ItemStyle-Width
=
"50px"
HeaderStyle-Width
=
"50px"
FilterControlWidth
=
"50px"
/>
</
columns
>
<
EditFormSettings
EditFormType
=
"Template"
>
<
FormTemplate
>
<
div
id
=
"divGridEdit"
class
=
"divGrid"
>
<
b
>Add New Role to Webpage Association</
b
>
<
br
/><
br
/>
<
table
>
<
tr
>
<
td
><
asp:Label
Text
=
"Web Page:"
runat
=
"server"
></
asp:Label
></
td
>
<
td
>
<
asp:DropDownList
ID
=
"ddlWebPages"
DataSourceID
=
"sqlDataSourceWebpages"
AppendDataBoundItems
=
"True"
DataTextField
=
"webpage_name"
DataValueField
=
"ID"
SelectedValue='<%# DataBinder.Eval(Container.DataItem,"security_webpage_id") == DBNull.Value ? "" : DataBinder.Eval(Container.DataItem,"security_webpage_id") %>'
runat="server">
<
asp:ListItem
Value
=
""
></
asp:ListItem
>
</
asp:DropDownList
>
</
td
>
</
tr
>
<
tr
>
<
td
><
br
/></
td
>
<
td
></
td
>
</
tr
>
<
tr
>
<
td
><
asp:Label
Text
=
"Allow Add:"
runat
=
"server"
></
asp:Label
></
td
>
<
td
><
asp:CheckBox
ID
=
"chkboxAllowAdd"
Checked='<%# DataBinder.Eval(Container.DataItem,"add_privledge") == DBNull.Value ? false : DataBinder.Eval(Container.DataItem,"add_privledge") %>' runat="server" /></
td
>
</
tr
>
<
tr
>
<
td
><
asp:Label
Text
=
"Allow Edit:"
runat
=
"server"
></
asp:Label
></
td
>
<
td
><
asp:CheckBox
ID
=
"chkboxAllowEdit"
Checked='<%# DataBinder.Eval(Container.DataItem,"edit_privledge") == DBNull.Value ? false : DataBinder.Eval(Container.DataItem,"edit_privledge") %>' runat="server" /></
td
>
</
tr
>
<
tr
>
<
td
><
asp:Label
Text
=
"Allow Delete:"
runat
=
"server"
></
asp:Label
></
td
>
<
td
><
asp:CheckBox
ID
=
"chkboxDelete"
Checked='<%# DataBinder.Eval(Container.DataItem,"delete_privledge") == DBNull.Value ? false : DataBinder.Eval(Container.DataItem,"delete_privledge") %>' runat="server" /></
td
>
</
tr
>
<
tr
>
<
td
><
asp:Button
ID
=
"btnUpdate"
Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>' runat="server" /></
td
>
<
td
><
asp:Button
ID
=
"btnCancel"
Text
=
"Cancel"
runat
=
"server"
CommandName
=
"Cancel"
CausesValidation
=
"false"
/></
td
>
</
tr
>
</
table
>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
<
ClientSettings
>
<
ClientEvents
OnRowDblClick
=
"rowDblClick"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
</
div
>
<
asp:SqlDataSource
ID
=
"sqlDataSourceWebpages"
runat
=
"server"
SelectCommand
=
"SELECT * FROM dbo.security_webpage"
ConnectionString="<%$ ConnectionStrings:GATEConnectionString %>"></
asp:SqlDataSource
>
<
telerik:RadWindowManager
ID
=
"RadWindowManager1"
runat
=
"server"
/>
using
GATE_Entity;
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
Telerik.Web.UI;
using
System.Collections;
namespace
FRC
{
public
partial
class
WebPageManagemet : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
GATEEntities dbContext =
new
GATEEntities();
// Load Role Drop-down List
var rolequery = from r
in
dbContext.Security_Role
select r;
IEnumerable<Security_Role> roles = rolequery.ToList();
ddlRoles.DataSource = roles;
ddlRoles.DataBind();
}
}
protected
void
RadGridwebpagemanagement_NeedDataSource(
object
sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
int
? selectedroleid = Convert.ToInt32(ddlRoles.SelectedValue);
// Use LINQ query to populate radGrid
GATEEntities dbContext =
new
GATEEntities();
var query = from srw
in
dbContext.Security_Role_To_Webpage
join sw
in
dbContext.Security_Webpage on srw.security_webpage_id equals sw.ID
where srw.security_role_id == selectedroleid
select
new
{
srw.ID,
srw.security_webpage_id,
sw.webpage_name,
srw.add_privledge,
srw.edit_privledge,
srw.delete_privledge,
srw.view_privledge
};
//IEnumerable<Security_Role_To_Webpage> securitypages = query.ToList();
RadGridwebpagemanagement.DataSource = query.ToList();
}
protected
void
ddlRoles_ItemSelected(
object
sender, Telerik.Web.UI.DropDownListEventArgs e)
{
RadGridwebpagemanagement.Rebind();
}
protected
void
RadGridwebpagemanagement_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item.FindControl(
"ddlWebPages"
) !=
null
)
{
GridEditableItem editedItem = e.Item
as
GridEditableItem;
DropDownList _ddl = (DropDownList)e.Item.FindControl(
"ddlWebPages"
);
if
(_ddl !=
null
)
{
_ddl.DataSourceID =
""
;
_ddl.Items.Clear();
ListItem newitem =
new
ListItem(
""
,
""
);
_ddl.Items.Add(newitem);
_ddl.DataSource =
this
.sqlDataSourceWebpages;
_ddl.DataTextField =
"webpage_name"
;
_ddl.DataValueField =
"ID"
;
_ddl.DataBind();
}
}
}
protected
void
RadGridwebpagemanagement_DeleteCommand(
object
sender, GridCommandEventArgs e)
{
GATE_Entity.GATEEntities dbContext =
new
GATEEntities();
var editableItem = ((GridEditableItem)e.Item);
var lookupID = (
int
)editableItem.GetDataKeyValue(
"ID"
);
// Retrieve Entity
var webpagerecord = dbContext.Security_Role_To_Webpage.Where(n => n.ID == lookupID).FirstOrDefault();
if
(webpagerecord !=
null
)
{
// set for deletion
dbContext.Security_Role_To_Webpage.Remove(webpagerecord);
try
{
// Save changes to db
dbContext.SaveChanges();
}
catch
(System.Exception)
{
}
}
}
private
void
DisplayMessage(
string
text)
{
RadGridwebpagemanagement.Controls.Add(
new
LiteralControl(
string
.Format(
"<span style='color:red'>{0}</span>"
, text)));
}
protected
void
RadGridwebpagemanagement_UpdateCommand(
object
sender, Telerik.Web.UI.GridCommandEventArgs e)
{
GATEEntities dbContext =
new
GATEEntities();
var editableItem = ((GridEditableItem)e.Item);
var lookupID = (
int
)editableItem.GetDataKeyValue(
"ID"
);
DropDownList ddlwebpage = (DropDownList)editableItem.FindControl(
"ddlWebPages"
);
var selectedval = Convert.ToInt32(ddlwebpage.SelectedValue);
// Check to make sure user didn't select webpage for this role that is already within the role
var roleid = Convert.ToInt32(ddlRoles.SelectedValue);
var webpagerecexist = (from srw
in
dbContext.Security_Role_To_Webpage
where srw.security_role_id == roleid &&
srw.security_webpage_id == selectedval &&
srw.ID != lookupID
select srw).ToList();
// If Count > 0 then user chose drop down webpage that is already associated with role
if
(webpagerecexist.Count == 0)
{
// create sql criteria with which the changes will be applied to
var webpagerecord = dbContext.Security_Role_To_Webpage.Where(n => n.ID == lookupID).FirstOrDefault();
if
(webpagerecord !=
null
)
{
// update entity's state
editableItem.UpdateValues(webpagerecord);
try
{
// Save changes to db
dbContext.SaveChanges();
}
catch
(System.Exception)
{
}
}
}
else
{
DisplayMessage(
"The webpage you selected already exists for this role!"
);
// keep in update mode
e.Canceled =
true
;
}
}
protected
void
RadGridwebpagemanagement_InsertCommand(
object
sender, GridCommandEventArgs e)
{
GATEEntities dbContext =
new
GATEEntities();
var editableItem = ((GridEditableItem)e.Item);
Hashtable values =
new
Hashtable();
editableItem.ExtractValues(values);
var newrec = dbContext.Security_Role_To_Webpage.Create();
newrec.security_webpage_id = (
int
?)values[
"security_webpage_id"
];
newrec.security_role_id = (
int
?)values[
"security_role_id"
];
newrec.add_privledge = (
bool
?)values[
"add_privledge"
];
newrec.edit_privledge = (
bool
?)values[
"edit_privledge"
];
newrec.delete_privledge = (
bool
?)values[
"delete_privledge"
];
dbContext.SaveChanges();
}
}
}
<
telerik:RadDropDownList
ID
=
"CUST_NBRDropDown"
runat
=
"server"
DataSourceID
=
"Customer_DDL"
DataTextField
=
"account_name"
DataValueField
=
"account_number"
DropDownHeight
=
"400px"
SelectedValue='<%# Bind("CUST_NBR")%>' OnClientItemSelected="OnClientItemSelected">
</
telerik:RadDropDownList
>
function
OnClientItemSelected(sender, eventArgs) {
var
item = eventArgs.get_item();
//alert("You selected " + item.get_text() + " with value " + item.get_value());
retVal = window.open(
"BSDM_PLANT_BACKNUMBERS_popup.aspx?acct_num="
+ item.get_value()
,
"Popup"
,
"width=300,height=100"
);
retVal.focus();
<
asp:TextBox
ID
=
"CUST_NBR_txt"
runat
=
"server"
Text='<%# Bind("CUST_NBR") %>' Visible="true"></
asp:TextBox
>
If Not IsPostBack Then
'do something
*
Session("Product") = Product
Else
'do something else
*
If Not isNothing(Session("Product")) Then
Product = Session("Product")
End If
End
* = Breakpoint
<
telerik:RadGrid
ID
=
"RadGridwebpagemanagement"
CssClass
=
"webpageManagementGrid"
MasterTableView-DataKeyNames
=
"ID"
runat
=
"server"
AllowFilteringByColumn
=
"True"
AllowSorting
=
"True"
GroupPanelPosition
=
"Top"
OnNeedDataSource
=
"RadGridwebpagemanagement_NeedDataSource"
OnUpdateCommand
=
"RadGridwebpagemanagement_UpdateCommand"
OnItemDataBound
=
"RadGridwebpagemanagement_ItemDataBound"
OnDeleteCommand
=
"RadGridwebpagemanagement_DeleteCommand"
OnInsertCommand
=
"RadGridwebpagemanagement_InsertCommand"
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"True"
UseStaticHeaders
=
"True"
/>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
MasterTableView
AutoGenerateColumns
=
"false"
CommandItemDisplay
=
"Top"
CommandItemSettings-AddNewRecordText
=
"Add New Webpage"
InsertItemPageIndexAction
=
"ShowItemOnCurrentPage"
>
<
columns
>
<
telerik:GridBoundColumn
DataField
=
"webpage_name"
HeaderText
=
"Web Page"
UniqueName
=
"webpage_name"
ItemStyle-Font-Names
=
"Arial"
ItemStyle-Font-Bold
=
"true"
FilterControlWidth
=
"200px"
>
<
HeaderStyle
Width
=
"230px"
Font-Names
=
"Arial"
/>
<
ItemStyle
Width
=
"230px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"add_privledge"
HeaderText
=
"Allow Adds"
UniqueName
=
"add_privledge"
FilterControlWidth
=
"120px"
>
<
HeaderStyle
Width
=
"120px"
Font-Names
=
"Arial"
/>
<
ItemStyle
Width
=
"120px"
/>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"edit_privledge"
HeaderText
=
"Allow Edits"
UniqueName
=
"edit_privledge"
FilterControlWidth
=
"120px"
>
<
HeaderStyle
Width
=
"120px"
Font-Names
=
"Arial"
/>
<
ItemStyle
Width
=
"120px"
/>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"delete_privledge"
HeaderText
=
"Allow Deletes"
UniqueName
=
"delete_privledge"
FilterControlWidth
=
"120px"
>
<
HeaderStyle
Width
=
"120px"
Font-Names
=
"Arial"
/>
<
ItemStyle
Width
=
"120px"
/>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridEditCommandColumn
ButtonType
=
"LinkButton"
EditText
=
"Edit"
CancelText
=
"Cancel"
ItemStyle-Width
=
"50px"
HeaderStyle-Width
=
"50px"
FilterControlWidth
=
"50px"
/>
<
telerik:GridButtonColumn
ConfirmText
=
"Delete this product?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
ButtonType
=
"LinkButton"
Text
=
"Delete"
CommandName
=
"Delete"
ItemStyle-Width
=
"50px"
HeaderStyle-Width
=
"50px"
FilterControlWidth
=
"50px"
/>
</
columns
>
<
EditFormSettings
EditFormType
=
"Template"
>
<
FormTemplate
>
<
div
id
=
"divGridEdit"
class
=
"divGrid"
>
<
b
>Add New Role to Webpage Association</
b
>
<
br
/><
br
/>
<
table
>
<
tr
>
<
td
><
asp:Label
Text
=
"Web Page:"
runat
=
"server"
></
asp:Label
></
td
>
<
td
>
<
asp:DropDownList
ID
=
"ddlWebPages"
DataSourceID
=
"sqlDataSourceWebpages"
AppendDataBoundItems
=
"True"
DataTextField
=
"webpage_name"
DataValueField
=
"ID"
SelectedValue='<%# Bind("security_webpage_id") %>'
runat="server">
</
asp:DropDownList
>
</
td
>
</
tr
>
<
tr
>
<
td
><
asp:Label
Text
=
"Allow Add:"
runat
=
"server"
></
asp:Label
></
td
>
<
td
><
asp:CheckBox
ID
=
"chkboxAllowAdd"
Checked='<%# Bind("add_privledge") %>' runat="server" /></
td
>
</
tr
>
<
tr
>
<
td
><
asp:Label
Text
=
"Allow Edit:"
runat
=
"server"
></
asp:Label
></
td
>
<
td
><
asp:CheckBox
ID
=
"chkboxAllowEdit"
Checked='<%# Bind("edit_privledge") %>' runat="server" /></
td
>
</
tr
>
<
tr
>
<
td
><
asp:Label
Text
=
"Allow Delete:"
runat
=
"server"
></
asp:Label
></
td
>
<
td
><
asp:CheckBox
ID
=
"chkboxDelete"
Checked='<%# Bind("delete_privledge") %>' runat="server" /></
td
>
</
tr
>
<
tr
>
<
td
><
br
/></
td
>
<
td
></
td
>
</
tr
>
<
tr
>
<
td
><
asp:Button
ID
=
"btnUpdate"
Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>' runat="server" /></
td
>
<
td
><
asp:Button
ID
=
"btnCancel"
Text
=
"Cancel"
runat
=
"server"
CommandName
=
"Cancel"
CausesValidation
=
"false"
/></
td
>
</
tr
>
</
table
>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
<
ClientSettings
>
<
ClientEvents
OnRowDblClick
=
"rowDblClick"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
</
div
>
<
asp:SqlDataSource
ID
=
"sqlDataSourceWebpages"
runat
=
"server"
SelectCommand
=
"SELECT * FROM dbo.security_webpage"
ConnectionString="<%$ ConnectionStrings:GATEConnectionString %>"></
asp:SqlDataSource
>
<
telerik:RadWindowManager
ID
=
"RadWindowManager1"
runat
=
"server"
/>