<
telerik:ResourceType
KeyField
=
"ID"
Name
=
"Departments"
AllowMultipleValues
=
"true"
TextField
=
"Text"
ForeignKeyField
=
"DepartmentID"
DataSourceID
=
"EDSDepartments"
/>
<
asp:EntityDataSource
runat
=
"server"
ID
=
"EDSDepartments"
ConnectionString
=
"name=OlympiaEntities"
DefaultContainerName
=
"OlympiaEntities"
EntitySetName
=
"Resources"
EnableInsert
=
"True"
Where
=
"it.ResourceTypeID = 4 && Not it.ParentID Is NULL"
EnableUpdate
=
"True"
>
</
asp:EntityDataSource
>
However, when I put a Radgrid inside a ASPxPageControl and hit the Save button, the btnSave_OnClick shows that the row count for the Radgrid is zero (see RadgridFails code).
What I'm trying to do is simply loop through the grid after checking/unchecking checkboxes and committing those values to the db. Incidentally, I get the same behavior with a regular asp:GridView. It works when inside an asp:Menu, but not when inside a ASPxPageControl. Any help is much appreciated!
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<
asp:Menu
ID
=
"menuScheduleActivityEditor"
Width
=
"350px"
runat
=
"server"
Orientation
=
"Horizontal"
OnMenuItemClick
=
"menuScheduleActivityEditor_MenuItemClick"
StaticEnableDefaultPopOutImage
=
"false"
Font-Bold
=
"True"
>
<
Items
>
<
asp:MenuItem
Text
=
"Checklist"
Value
=
"0"
Selected
=
"True"
></
asp:MenuItem
>
<
asp:MenuItem
Text
=
"Notes"
Value
=
"1"
></
asp:MenuItem
>
</
Items
>
</
asp:Menu
>
<
br
/>
<
asp:MultiView
ID
=
"multiviewScheduleActivityEditor"
runat
=
"server"
ActiveViewIndex
=
"0"
>
<
asp:View
ID
=
"viewDetails"
runat
=
"server"
>
<
asp:Button
ID
=
"btnSave"
runat
=
"server"
Text
=
"Save Checked Items"
OnClick
=
"btnSave_OnClick"
/>
<
br
/>
<
radG:RadGrid
ID
=
"rgChecklistItems"
AllowMultiRowSelection
=
"True"
runat
=
"server"
AllowSorting
=
"True"
GridLines
=
"None"
>
<
MasterTableView
AutoGenerateColumns
=
"False"
DataKeyNames
=
"ScheduleActivityChecklistItemID"
>
<
RowIndicatorColumn
Visible
=
"False"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
Visible
=
"False"
>
<
HeaderStyle
Width
=
"19px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
radG:GridTemplateColumn
HeaderText
=
"Complete"
UniqueName
=
"Complete"
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"chboxComplete"
runat
=
"server"
Checked='<%# Bind("Complete") %>'
Enabled="true" />
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:CheckBox
ID
=
"chboxComplete"
runat
=
"server"
Checked='<%# Bind("Complete") %>' />
</
EditItemTemplate
>
</
radG:GridTemplateColumn
>
<
radG:GridBoundColumn
UniqueName
=
"ScheduleActivityChecklistName"
HeaderText
=
"Item"
DataField
=
"ScheduleActivityChecklistName"
>
<
ItemStyle
HorizontalAlign
=
"Left"
/>
</
radG:GridBoundColumn
>
<
radG:GridBoundColumn
UniqueName
=
"ScheduleActivityChecklistID"
HeaderText
=
"saCID"
DataField
=
"ScheduleActivityChecklistID"
>
<
ItemStyle
HorizontalAlign
=
"Left"
/>
</
radG:GridBoundColumn
>
<
radG:GridBoundColumn
UniqueName
=
"ChecklistID"
HeaderText
=
"CID"
DataField
=
"ChecklistID"
>
<
ItemStyle
HorizontalAlign
=
"Left"
/>
</
radG:GridBoundColumn
>
<
radG:GridBoundColumn
UniqueName
=
"ScheduleActivityChecklistItemID"
HeaderText
=
"saCIID"
DataField
=
"ScheduleActivityChecklistItemID"
>
<
ItemStyle
HorizontalAlign
=
"Left"
/>
</
radG:GridBoundColumn
>
</
Columns
>
<
PagerStyle
PagerTextFormat
=
"Pages: {4} | Displaying page {0} of {1}, items {2} to {3} of {5}."
Mode
=
"NumericPages"
/>
<
GroupHeaderItemStyle
BackColor
=
"LightSteelBlue"
/>
<
AlternatingItemStyle
BackColor
=
"#E0E0E0"
/>
<
ItemStyle
BackColor
=
"White"
/>
</
MasterTableView
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"True"
/>
</
ClientSettings
>
<
HeaderStyle
Wrap
=
"True"
HorizontalAlign
=
"Center"
VerticalAlign
=
"Middle"
/>
</
radG:RadGrid
>
</
asp:View
>
<
asp:View
ID
=
"viewNotes"
runat
=
"server"
>
NOTES
</
asp:View
>
</
asp:MultiView
>
</
div
>
</
form
>
</
body
>
public
partial
class
RadgridWorks : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
DoWork_ActivityDetail();
}
}
public
void
DoWork_ActivityDetail()
{
int
scheduleActivityID = 707;
string
signature =
"41aa56f1-a1c4-40c7-9f8c-97c262fc5a45"
;
// ---------------------------------------------
// CHECKLIST TAB
// ---------------------------------------------
rgChecklistItems.DataSource = GetScheduleActivityChecklistItems(signature, scheduleActivityID);
rgChecklistItems.DataBind();
int
ab = rgChecklistItems.Items.Count;
}
protected
void
btnSave_OnClick(
object
sender, EventArgs e)
{
string
signature =
"41aa56f1-a1c4-40c7-9f8c-97c262fc5a45"
;
string
portalUserID =
"ADMIN"
;
int
scheduleActivityID = 707;
bool
AutoComplete =
false
;
int
ab = rgChecklistItems.Items.Count;
int
bmt_ScheduleActivityChecklistID;
int
bmt_ChecklistID;
int
bmt_ScheduleActivityChecklistItemID;
string
bmt_ChecklistItemComplete =
"F"
;
foreach
(GridDataItem x
in
rgChecklistItems.Items)
{
bmt_ScheduleActivityChecklistID =
int
.Parse(x.Cells[4].Text);
bmt_ChecklistID =
int
.Parse(x.Cells[5].Text);
bmt_ScheduleActivityChecklistItemID =
int
.Parse(x.Cells[6].Text);
//Get the value of the row's checkbox
CheckBox chkbox1 = (CheckBox)x.FindControl(
"chboxComplete"
);
if
(AutoComplete ==
true
)
{
bmt_ChecklistItemComplete =
"T"
;
}
else
{
if
(chkbox1.Checked)
{
bmt_ChecklistItemComplete =
"T"
;
}
else
{
bmt_ChecklistItemComplete =
"F"
;
}
BmtSchedulingService.SchedulingService s =
new
BmtSchedulingService.SchedulingService();
BmtSchedulingService.BmtApiResult r =
null
;
r = s.UpdateScheduleActivityCheckListItem(signature, scheduleActivityID, bmt_ScheduleActivityChecklistID, bmt_ChecklistID, bmt_ScheduleActivityChecklistItemID, bmt_ChecklistItemComplete, portalUserID);
}
}
DoWork_ActivityDetail();
}
public
DataView GetScheduleActivityChecklistItems(
string
signature,
int
scheduleActivityID)
{
BmtSchedulingService.SchedulingService s =
new
BmtSchedulingService.SchedulingService();
BmtSchedulingService.ScheduleActivityChecklistItemData[] r =
null
;
r = s.GetScheduleActivityChecklistItems(signature, scheduleActivityID);
DataTable dt =
new
DataTable();
dt.Columns.Add(
"ScheduleActivityID"
,
typeof
(
int
));
dt.Columns.Add(
"ScheduleActivityChecklistID"
,
typeof
(
int
));
dt.Columns.Add(
"ChecklistID"
,
typeof
(
int
));
dt.Columns.Add(
"ScheduleActivityChecklistName"
,
typeof
(
string
));
dt.Columns.Add(
"ScheduleActivityChecklistItemName"
,
typeof
(
string
));
dt.Columns.Add(
"ScheduleActivityChecklistItemID"
,
typeof
(
string
));
dt.Columns.Add(
"ScheduleActivityChecklistItemCategory"
,
typeof
(
string
));
dt.Columns.Add(
"Complete"
,
typeof
(
bool
));
dt.Columns.Add(
"DateCompleted"
,
typeof
(
string
));
dt.Columns.Add(
"UserCompleted"
,
typeof
(
string
));
DataRow oDataRow;
for
(
int
i = 0; i < r.Length; i++)
{
oDataRow = dt.NewRow();
oDataRow[
"ScheduleActivityID"
] = r[i].ScheduleActivityID.ToString();
oDataRow[
"ScheduleActivityChecklistID"
] = r[i].ScheduleActivityChecklistID.ToString();
oDataRow[
"ChecklistID"
] = r[i].ChecklistID.ToString();
oDataRow[
"ScheduleActivityChecklistName"
] = r[i].ScheduleActivityChecklistName.ToString();
oDataRow[
"ScheduleActivityChecklistItemName"
] = r[i].ScheduleActivityChecklistItemName.ToString();
oDataRow[
"ScheduleActivityChecklistItemID"
] = r[i].ScheduleActivityChecklistItemID.ToString();
oDataRow[
"ScheduleActivityChecklistItemCategory"
] = r[i].ScheduleActivityChecklistItemCategory.ToString();
oDataRow[
"Complete"
] = r[i].Complete.ToString();
oDataRow[
"DateCompleted"
] = r[i].DateCompleted.ToString();
oDataRow[
"UserCompleted"
] = r[i].UserCompleted.ToString();
dt.Rows.Add(oDataRow);
}
return
dt.DefaultView;
}
protected
void
menuScheduleActivityEditor_MenuItemClick(
object
sender, MenuEventArgs e)
{
multiviewScheduleActivityEditor.ActiveViewIndex = Int32.Parse(e.Item.Value);
int
i;
for
(i = 0; i <= menuScheduleActivityEditor.Items.Count - 1; i++)
{
if
(i.ToString() == e.Item.Value)
{
menuScheduleActivityEditor.Items[i].Enabled =
false
;
}
else
{
menuScheduleActivityEditor.Items[i].Enabled =
true
;
}
}
}
}
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<
dxtc:ASPxPageControl
ID
=
"pcActivityDetail"
runat
=
"server"
ActiveTabIndex
=
"0"
CssFilePath
=
"~/App_Themes/Aqua/{0}/styles.css"
CssPostfix
=
"Aqua"
Height
=
"297px"
ImageFolder
=
"~/App_Themes/Aqua/{0}/"
LoadingPanelText
=
""
TabSpacing
=
"3px"
Width
=
"826px"
EnableViewState
=
"False"
>
<
ContentStyle
>
<
Border
BorderColor
=
"#AECAF0"
BorderStyle
=
"Solid"
BorderWidth
=
"1px"
></
Border
>
</
ContentStyle
>
<
Paddings
Padding
=
"2px"
PaddingLeft
=
"5px"
PaddingRight
=
"5px"
></
Paddings
>
<
TabPages
>
<
dxtc:TabPage
Name
=
"tabChecklist"
Text
=
"Checklist"
>
<
ContentCollection
>
<
dxw:ContentControl
ID
=
"ContentControlChecklist"
runat
=
"server"
>
<
asp:Button
ID
=
"btnSave"
runat
=
"server"
Text
=
"Save Checked Items"
OnClick
=
"btnSave_OnClick"
/>
<
br
/>
<
br
/>
<
radG:RadGrid
ID
=
"rgChecklistItems"
AllowMultiRowSelection
=
"True"
runat
=
"server"
AllowSorting
=
"True"
GridLines
=
"None"
>
<
MasterTableView
AutoGenerateColumns
=
"False"
DataKeyNames
=
"ScheduleActivityChecklistItemID"
>
<
RowIndicatorColumn
Visible
=
"False"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
Visible
=
"False"
>
<
HeaderStyle
Width
=
"19px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
radG:GridTemplateColumn
HeaderText
=
"Complete"
UniqueName
=
"Complete"
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"chboxComplete"
runat
=
"server"
Checked='<%# Bind("Complete") %>'
Enabled="true" />
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:CheckBox
ID
=
"chboxComplete"
runat
=
"server"
Checked='<%# Bind("Complete") %>' />
</
EditItemTemplate
>
</
radG:GridTemplateColumn
>
<
radG:GridBoundColumn
UniqueName
=
"ScheduleActivityChecklistName"
HeaderText
=
"Item"
DataField
=
"ScheduleActivityChecklistName"
>
<
ItemStyle
HorizontalAlign
=
"Left"
/>
</
radG:GridBoundColumn
>
<
radG:GridBoundColumn
UniqueName
=
"ScheduleActivityChecklistID"
HeaderText
=
"saCID"
DataField
=
"ScheduleActivityChecklistID"
>
<
ItemStyle
HorizontalAlign
=
"Left"
/>
</
radG:GridBoundColumn
>
<
radG:GridBoundColumn
UniqueName
=
"ChecklistID"
HeaderText
=
"CID"
DataField
=
"ChecklistID"
>
<
ItemStyle
HorizontalAlign
=
"Left"
/>
</
radG:GridBoundColumn
>
<
radG:GridBoundColumn
UniqueName
=
"ScheduleActivityChecklistItemID"
HeaderText
=
"saCIID"
DataField
=
"ScheduleActivityChecklistItemID"
>
<
ItemStyle
HorizontalAlign
=
"Left"
/>
</
radG:GridBoundColumn
>
</
Columns
>
<
PagerStyle
PagerTextFormat
=
"Pages: {4} | Displaying page {0} of {1}, items {2} to {3} of {5}."
Mode
=
"NumericPages"
/>
<
GroupHeaderItemStyle
BackColor
=
"LightSteelBlue"
/>
<
AlternatingItemStyle
BackColor
=
"#E0E0E0"
/>
<
ItemStyle
BackColor
=
"White"
/>
</
MasterTableView
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"True"
/>
</
ClientSettings
>
<
HeaderStyle
Wrap
=
"True"
HorizontalAlign
=
"Center"
VerticalAlign
=
"Middle"
/>
</
radG:RadGrid
>
</
dxw:ContentControl
>
</
ContentCollection
>
</
dxtc:TabPage
>
<
dxtc:TabPage
Name
=
"tabNotes"
Text
=
"Notes"
>
<
ContentCollection
>
<
dxw:ContentControl
ID
=
"ContentControlNotes"
runat
=
"server"
>
NOTES
</
dxw:ContentControl
>
</
ContentCollection
>
</
dxtc:TabPage
>
</
TabPages
>
</
dxtc:ASPxPageControl
>
</
div
>
</
form
>
</
body
>
public
partial
class
RadgridFails : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
DoWork_ActivityDetail();
}
}
public
void
DoWork_ActivityDetail()
{
int
scheduleActivityID = 707;
string
signature =
"41aa56f1-a1c4-40c7-9f8c-97c262fc5a45"
;
// ---------------------------------------------
// CHECKLIST TAB
// ---------------------------------------------
rgChecklistItems.DataSource = GetScheduleActivityChecklistItems(signature, scheduleActivityID);
rgChecklistItems.DataBind();
// THIS RETURNS THE NUMBER OF ITEMS AND WORKS FINE !!!
int
ab = rgChecklistItems.Items.Count;
}
protected
void
btnSave_OnClick(
object
sender, EventArgs e)
{
string
signature =
"41aa56f1-a1c4-40c7-9f8c-97c262fc5a45"
;
string
portalUserID =
"ADMIN"
;
int
scheduleActivityID = 707;
bool
AutoComplete =
false
;
// AT THIS POINT, NUMBER OF ITEMS = 0 EVEN THOUGH THE GRID SHOWED ITEMS WHEN LOADING !!!!!
int
ab = rgChecklistItems.Items.Count;
int
bmt_ScheduleActivityChecklistID;
int
bmt_ChecklistID;
int
bmt_ScheduleActivityChecklistItemID;
string
bmt_ChecklistItemComplete =
"F"
;
foreach
(GridDataItem x
in
rgChecklistItems.Items)
{
bmt_ScheduleActivityChecklistID =
int
.Parse(x.Cells[4].Text);
bmt_ChecklistID =
int
.Parse(x.Cells[5].Text);
bmt_ScheduleActivityChecklistItemID =
int
.Parse(x.Cells[6].Text);
//Get the value of the row's checkbox
CheckBox chkbox1 = (CheckBox)x.FindControl(
"chboxComplete"
);
if
(AutoComplete ==
true
)
{
bmt_ChecklistItemComplete =
"T"
;
}
else
{
if
(chkbox1.Checked)
{
bmt_ChecklistItemComplete =
"T"
;
}
else
{
bmt_ChecklistItemComplete =
"F"
;
}
BmtSchedulingService.SchedulingService s =
new
BmtSchedulingService.SchedulingService();
BmtSchedulingService.BmtApiResult r =
null
;
r = s.UpdateScheduleActivityCheckListItem(signature, scheduleActivityID, bmt_ScheduleActivityChecklistID, bmt_ChecklistID, bmt_ScheduleActivityChecklistItemID, bmt_ChecklistItemComplete, portalUserID);
}
}
DoWork_ActivityDetail();
}
public
DataView GetScheduleActivityChecklistItems(
string
signature,
int
scheduleActivityID)
{
BmtSchedulingService.SchedulingService s =
new
BmtSchedulingService.SchedulingService();
BmtSchedulingService.ScheduleActivityChecklistItemData[] r =
null
;
r = s.GetScheduleActivityChecklistItems(signature, scheduleActivityID);
DataTable dt =
new
DataTable();
dt.Columns.Add(
"ScheduleActivityID"
,
typeof
(
int
));
dt.Columns.Add(
"ScheduleActivityChecklistID"
,
typeof
(
int
));
dt.Columns.Add(
"ChecklistID"
,
typeof
(
int
));
dt.Columns.Add(
"ScheduleActivityChecklistName"
,
typeof
(
string
));
dt.Columns.Add(
"ScheduleActivityChecklistItemName"
,
typeof
(
string
));
dt.Columns.Add(
"ScheduleActivityChecklistItemID"
,
typeof
(
string
));
dt.Columns.Add(
"ScheduleActivityChecklistItemCategory"
,
typeof
(
string
));
dt.Columns.Add(
"Complete"
,
typeof
(
bool
));
dt.Columns.Add(
"DateCompleted"
,
typeof
(
string
));
dt.Columns.Add(
"UserCompleted"
,
typeof
(
string
));
DataRow oDataRow;
for
(
int
i = 0; i < r.Length; i++)
{
oDataRow = dt.NewRow();
oDataRow[
"ScheduleActivityID"
] = r[i].ScheduleActivityID.ToString();
oDataRow[
"ScheduleActivityChecklistID"
] = r[i].ScheduleActivityChecklistID.ToString();
oDataRow[
"ChecklistID"
] = r[i].ChecklistID.ToString();
oDataRow[
"ScheduleActivityChecklistName"
] = r[i].ScheduleActivityChecklistName.ToString();
oDataRow[
"ScheduleActivityChecklistItemName"
] = r[i].ScheduleActivityChecklistItemName.ToString();
oDataRow[
"ScheduleActivityChecklistItemID"
] = r[i].ScheduleActivityChecklistItemID.ToString();
oDataRow[
"ScheduleActivityChecklistItemCategory"
] = r[i].ScheduleActivityChecklistItemCategory.ToString();
oDataRow[
"Complete"
] = r[i].Complete.ToString();
oDataRow[
"DateCompleted"
] = r[i].DateCompleted.ToString();
oDataRow[
"UserCompleted"
] = r[i].UserCompleted.ToString();
dt.Rows.Add(oDataRow);
}
return
dt.DefaultView;
}
}
when a row is selected and clicked on a radTolBarButton,to edit its content . Actually it opens a Rad window (window.radopen) with all the controls in editable mode.
we can edit ,save and also close this window ( provided a Rad button 'Close' in a Rad tool bar )
My Requirement is below.
on edit - save - close button click
1.Need to close the window - (this is happening)
2.Need to refresh the content in the grid - from - where this rad window opend. (this is not happening)
I dont want to change Content edit procedure. This is already finalised.
The only thing is to refresh the grid content on Rad window close.
Please help me.
Thanks in advance
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/ITIMaster.Master" CodeBehind="AlertLevelAdmin.aspx.vb" Inherits="EmailAlertsMonitor.AlertLevelAdmin" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"head"
runat
=
"server"
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"ContentPlaceHolder1"
runat
=
"server"
>
<
telerik:RadGrid
ID
=
"gvAlertLevels"
runat
=
"server"
AutoGenerateColumns
=
"False"
CellSpacing
=
"0"
DataSourceID
=
"SqlDataSource1"
GridLines
=
"None"
Skin
=
"Outlook"
AllowAutomaticDeletes
=
"true"
AllowAutomaticUpdates
=
"true"
AllowAutomaticInserts
=
"true"
>
<
MasterTableView
DataSourceID
=
"SqlDataSource1"
DataKeyNames
=
"Alert_Level_ID"
CommandItemDisplay
=
"TopAndBottom"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
>
<
ItemStyle
CssClass
=
"MyImageButton"
/>
</
telerik:GridEditCommandColumn
>
<
telerik:GridButtonColumn
ConfirmText
=
"Are you sure you want to delete this alert?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
ButtonType
=
"ImageButton"
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"DeleteColumn"
>
<
ItemStyle
HorizontalAlign
=
"Center"
CssClass
=
"MyImageButton"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridTemplateColumn
FilterControlAltText
=
"Filter TemplateColumn column"
UniqueName
=
"TemplateColumn"
HeaderText
=
"Alert Level ID"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblAlertLevelID"
runat
=
"server"
Text ='<%#EVAL("Alert_Level_ID") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
ID
=
"txtAlertLevelID"
runat
=
"server"
Text ='<%#EVAL("Alert_Level_ID") %>'></
asp:TextBox
>
<
asp:CompareValidator
ID
=
"cvAlertLevelID"
runat
=
"server"
ControlToValidate
=
"txtAlertLevelID"
Operator
=
"DataTypeCheck"
Type
=
"Integer"
SetFocusOnError
=
"true"
ErrorMessage
=
"Alert Level ID must be numeric."
ForeColor
=
"Red"
ValidationGroup
=
"editData"
></
asp:CompareValidator
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
FilterControlAltText
=
"Filter TemplateColumn column"
UniqueName
=
"TemplateColumn"
HeaderText
=
"Alert Level Description"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblAlertLevel"
runat
=
"server"
Text ='<%#EVAL("Alert_Level") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
ID
=
"txtAlertLevel"
runat
=
"server"
Text ='<%#EVAL("Alert_Level") %>'></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"rvAlertLevel"
runat
=
"server"
ControlToValidate
=
"txtAlertLevel"
SetFocusOnError
=
"true"
ErrorMessage
=
"Must enter Alert Level Description."
ForeColor
=
"Red"
ValidationGroup
=
"editData"
></
asp:RequiredFieldValidator
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
FilterControlAltText
=
"Filter TemplateColumn column"
UniqueName
=
"TemplateColumn3"
HeaderText
=
"Alert Level Color Code"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblAlertLevelColor"
runat
=
"server"
Text ='<%#EVAL("Alert_Level_Color_Code") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadColorPicker
ID
=
"RadColorPicker1"
runat
=
"server"
ShowIcon
=
"true"
OnColorChanged
=
"RadColorPicker1_ColorChanged"
Width
=
"250px"
Height
=
"400px"
>
</
telerik:RadColorPicker
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
<
FilterMenu
EnableImageSprites
=
"False"
></
FilterMenu
>
<
HeaderContextMenu
CssClass
=
"GridContextMenu GridContextMenu_Default"
></
HeaderContextMenu
>
</
telerik:RadGrid
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:DBConnectionString %>"
SelectCommand="SELECT * FROM [Alert_Level]"
InsertCommand ="INSERT INTO [Alert_Level] VALUES(@alertLevelID,@alertLevel,@alertColorCode)"
UpdateCommand ="UPDATE [Alert_Level] SET alert_level=@alertLevel,alert_level_color_code=@alertColorCode WHERE alert_Level_ID=@alertLevelID"
DeleteCommand ="DELETE FROM [Alert_Level] WHERE alert_Level_ID=@alertLevelID" >
<
InsertParameters
>
<
asp:Parameter
Name
=
"AlertLevelID"
Type
=
"Int16"
/>
<
asp:Parameter
Name
=
"AlertLevel"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"AlertColorCode"
Type
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:Parameter
Name
=
"AlertLevelID"
Type
=
"Int16"
/>
<
asp:Parameter
Name
=
"AlertLevel"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"AlertColorCode"
Type
=
"String"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:Parameter
Name
=
"AlertLevelID"
Type
=
"Int16"
/>
</
DeleteParameters
>
</
asp:SqlDataSource
>
</
asp:Content
>
Imports Telerik.Web.UI
Imports System.Drawing
Public Class AlertLevelAdmin
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Public Sub RadColorPicker1_ColorChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim RadColorPicker1 As RadColorPicker = CType(sender, RadColorPicker)
Dim gvItem As GridItem = DirectCast(RadColorPicker1.NamingContainer, GridItem)
gvItem.BackColor = RadColorPicker1.SelectedColor
End Sub
Private Sub gvAlertLevels_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles gvAlertLevels.ItemDataBound
If TypeOf e.Item Is GridDataItem Then
Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)
item("TemplateColumn3").BackColor = ColorTranslator.FromHtml((DataBinder.Eval(e.Item.DataItem, ("Alert_Level_Color_Code").ToString)))
End If
Dim radColorPicker1 As RadColorPicker = DirectCast(e.Item.FindControl("RadColorPicker1"), RadColorPicker)
If Not IsNothing(radColorPicker1) Then
If Not IsDBNull(DataBinder.Eval(e.Item.DataItem, ("Alert_Level_Color_Code"))) Then
radColorPicker1.SelectedColor = ColorTranslator.FromHtml((DataBinder.Eval(e.Item.DataItem, ("Alert_Level_Color_Code").ToString)))
End If
End If
End Sub
Private Sub gvAlertLevels_ItemDeleted(sender As Object, e As Telerik.Web.UI.GridDeletedEventArgs) Handles gvAlertLevels.ItemDeleted
Try
Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)
Dim alertLevelID As Integer = CInt(item.GetDataKeyValue("Alert_Level_ID").ToString)
SqlDataSource1.DeleteParameters("AlertLevelID").DefaultValue = alertLevelID
SqlDataSource1.Delete()
Catch ex As Exception
End Try
End Sub
Private Sub gvAlertLevels_ItemInserted(sender As Object, e As Telerik.Web.UI.GridInsertedEventArgs) Handles gvAlertLevels.ItemInserted
Try
Dim alertLevelID As Integer = DirectCast(e.Item.FindControl("txtAlertLevelID"), TextBox).Text
Dim alertLevel As String = DirectCast(e.Item.FindControl("txtAlertLevel"), TextBox).Text
Dim alertColorCode As String = ColorTranslator.ToHtml(DirectCast(e.Item.FindControl("RadColorPicker1"), RadColorPicker).SelectedColor)
SqlDataSource1.InsertParameters("AlertLevelID").DefaultValue = alertLevelID
SqlDataSource1.InsertParameters("AlertLevel").DefaultValue = alertLevel.ToUpper
SqlDataSource1.InsertParameters("AlertColorCode").DefaultValue = alertColorCode
SqlDataSource1.Insert()
Catch ex As Exception
End Try
End Sub
Private Sub gvAlertLevels_ItemUpdated(sender As Object, e As Telerik.Web.UI.GridUpdatedEventArgs) Handles gvAlertLevels.ItemUpdated
Try
Dim item As GridEditFormItem = DirectCast(e.Item, GridEditFormItem)
Dim alertLevelID As Integer = CInt(item.GetDataKeyValue("Alert_Level_ID").ToString)
Dim alertLevel As String = DirectCast(item.FindControl("txtAlertLevel"), TextBox).Text
Dim alertColorCode As String = ColorTranslator.ToHtml(DirectCast(item.FindControl("RadColorPicker1"), RadColorPicker).SelectedColor)
SqlDataSource1.UpdateParameters("AlertLevelID").DefaultValue = alertLevelID
SqlDataSource1.UpdateParameters("AlertLevel").DefaultValue = alertLevel.ToUpper
SqlDataSource1.UpdateParameters("AlertColorCode").DefaultValue = alertColorCode
SqlDataSource1.Update()
Catch ex As Exception
End Try
End Sub
End Class
<telerik:RadWindowManager ID="RadWindowManagerUI" runat="server" /> <telerik:RadAjaxPanel ID="RadAjaxPanelFreezeSheets" runat="server" LoadingPanelID="RadAjaxLoadingPanelFreezeSheets"> <telerik:RadGrid ID="RadGridFreezeSheets" runat="server" Skin="WebBlue" onneeddatasource="RadGridFreezeSheets_NeedDataSource" AllowPaging="True" AllowSorting="True" ondeletecommand="RadGridFreezeSheets_DeleteCommand" oninsertcommand="RadGridFreezeSheets_InsertCommand" AllowFilteringByColumn="True" onitemcommand="RadGridFreezeSheets_ItemCommand" onupdatecommand="RadGridFreezeSheets_UpdateCommand" CellSpacing="0" GridLines="None" AllowAutomaticUpdates="true"> <MasterTableView CommandItemDisplay="Top" AutoGenerateColumns="false" DataKeyNames="FreezeID" InsertItemPageIndexAction="ShowItemOnCurrentPage" EditMode="PopUp"> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" /> <telerik:GridButtonColumn ConfirmText="Delete this freeze sheet?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" ConfirmDialogHeight="100px" ConfirmDialogWidth="220px" /> <telerik:GridTemplateColumn DataField="FreezeID" HeaderText="Freeze Sheet" UniqueName="FreezeID" Visible="false"> <InsertItemTemplate> <asp:Label ID="LabelEdit" runat="server" Text='<%# Eval("FreezeID") %>' Visible="false"></asp:Label> </InsertItemTemplate> <EditItemTemplate> <asp:Label ID="LabelEdit" runat="server" Text='<%# Eval("FreezeID") %>'></asp:Label> </EditItemTemplate> <ItemTemplate><asp:Label ID="LabelFN" runat="server" Text='<%# Eval("FreezeID") %>' Visible="false"></asp:Label></ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Username" HeaderText="User" UniqueName="Username" /> <telerik:GridTemplateColumn DataField="DateStarted" HeaderText="Date started" UniqueName="DateStarted"> <EditItemTemplate> <telerik:RadDatePicker ID="RadDatePicker1" runat="server" SelectedDate='<%# Bind("DateStarted") %>'> </telerik:RadDatePicker> </EditItemTemplate> <InsertItemTemplate> <telerik:RadDatePicker ID="RadDatePicker1" runat="server"> </telerik:RadDatePicker> </InsertItemTemplate> <ItemTemplate><asp:Label ID="LabelSD" runat="server" Text='<%# Eval("DateStarted") %>'></asp:Label></ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="DateCompleted" HeaderText="Date completed" UniqueName="DateCompleted"> <EditItemTemplate> <telerik:RadDatePicker ID="RadDatePicker1" runat="server" SelectedDate='<%# Bind("DateCompleted") %>'> </telerik:RadDatePicker> </EditItemTemplate> <InsertItemTemplate> <telerik:RadDatePicker ID="RadDatePicker1" runat="server"> </telerik:RadDatePicker> </InsertItemTemplate> <ItemTemplate><asp:Label ID="LabelPD" runat="server" Text='<%# Eval("DateCompleted") %>'></asp:Label></ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Status" HeaderText="Status" UniqueName="Status" /> <telerik:GridBoundColumn DataField="Notes" HeaderText="Notes" UniqueName="Notes" /> <telerik:GridButtonColumn UniqueName="columnx" HeaderText="" CommandName="Process" DataTextField="FreezeID" DataTextFormatString="Process Freeze"/> </Columns> </MasterTableView> </telerik:RadGrid> </telerik:RadAjaxPanel> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelFreezeSheets" runat="server" Skin="WebBlue"> </telerik:RadAjaxLoadingPanel>
public partial class FreezeSheets : System.Web.UI.Page { private Domain.FreezeRepository freezeRepo = new Domain.FreezeRepository(); protected void Page_Load(object sender, EventArgs e) { } protected void RadGridFreezeSheets_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e) { RadGridFreezeSheets.DataSource = freezeRepo.FindAllFreezes(); } protected void RadGridFreezeSheets_InsertCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { Response.Redirect("AddFreezeSheet.aspx"); } protected void RadGridFreezeSheets_DeleteCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { } protected void RadGridFreezeSheets_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { if (e.CommandName == "InitInsert") { Response.Redirect("AddFreezeSheet.aspx"); } if (e.CommandName == "Process") { Response.Redirect("FreezeSheetSamples.aspx.aspx?q=" + (e.Item as GridDataItem).GetDataKeyValue("FreezeID").ToString()); } } protected void RadGridFreezeSheets_UpdateCommand(object sender, GridCommandEventArgs e) { try { GridEditableItem item = e.Item as GridEditableItem; var freezeID = item.GetDataKeyValue("FreezeID").ToString(); Domain.Freeze oldFreeze = freezeRepo.GetFreeze(Convert.ToInt16(freezeID)); item.UpdateValues(oldFreeze); freezeRepo.Save(); } catch (Exception ex) { RadWindowManagerUI.RadAlert("Unable to save your information. make sure the combination you are entering is unique for the selected freezer. Additional information: " + ex.Message, 330, 100, "DNA CellLab", null); } } }
If
TypeOf
e.Item
Is
GridEditableItem
Then
Dim
gridEditedItem1
As
GridEditableItem = TryCast(e.Item, GridEditableItem)
Dim
bytes
As
Byte
() = (
DirectCast
(gridEditedItem1.EditManager.GetColumnEditor(
"ImageFile"
), GridAttachmentColumnEditor)).UploadedFileContent
If
bytes
Is
Nothing
OrElse
bytes.Length = 0
Then
bytes =
New
Byte
() {}
End
If
'Return bytes
End
If