or
<
telerik:RadGrid
ID
=
"RadGrid1"
GridLines
=
"None"
runat
=
"server"
AllowAutomaticDeletes
=
"True"
AllowSorting
=
"True"
PageSize
=
"25"
AllowAutomaticUpdates
=
"True"
AllowMultiRowEdit
=
"False"
AutoGenerateColumns
=
"False"
AllowPaging
=
"True"
DataSourceID
=
"DataSource1"
OnItemUpdated
=
"RadGrid1_ItemUpdated"
AllowFilteringByColumn
=
"True"
OnItemDeleted
=
"RadGrid1_ItemDeleted"
OnDataBound
=
"RadGrid1_DataBound"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
Position
=
"TopAndBottom"
PageSizeLabelText
=
"Rows Per Page:"
/>
<
MasterTableView
Width
=
"100%"
CommandItemDisplay
=
"TopAndBottom"
DataSourceID
=
"DataSource1"
EditMode
=
"InPlace"
UseAllDataFields
=
"True"
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
>
<
ItemStyle
CssClass
=
"MyImageButton"
/>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
DataField
=
"InstallCount"
HeaderText
=
"Install Count"
SortExpression
=
"InstallCount"
UniqueName
=
"InstallCount"
ReadOnly
=
"True"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PackageName"
HeaderText
=
"Package Name"
SortExpression
=
"PackageName"
UniqueName
=
"PackageName"
ReadOnly
=
"True"
>
</
telerik:GridBoundColumn
>
<
telerik:GridDropDownColumn
DataField
=
"ToBeTestedID"
DataSourceID
=
"SqlDataSource3"
HeaderText
=
"To Be Tested"
ListTextField
=
"ToBeTested"
ListValueField
=
"ToBeTestedID"
UniqueName
=
"ToBeTestedID"
/>
<
telerik:GridDropDownColumn
DataField
=
"StatusID"
DataSourceID
=
"SqlDataSource2"
HeaderText
=
"Status"
ListTextField
=
"Status"
ListValueField
=
"StatusID"
UniqueName
=
"StatusID"
/>
<
telerik:GridBoundColumn
DataField
=
"LOB"
HeaderText
=
"Line Of Business"
SortExpression
=
"LOB"
UniqueName
=
"LOB"
ReadOnly
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"AlliancePartner"
HeaderText
=
"Alliance Partner"
SortExpression
=
"AlliancePartner"
UniqueName
=
"AlliancePartner"
ReadOnly
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"DslID"
HeaderText
=
"Dsl ID"
SortExpression
=
"DslID"
UniqueName
=
"DslID"
ReadOnly
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Contacts"
HeaderText
=
"Contacts"
SortExpression
=
"Contacts"
UniqueName
=
"Contacts"
ReadOnly
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"EmailSentDate"
HeaderText
=
"Email Sent Date"
SortExpression
=
"EmailSentDate"
UniqueName
=
"EmailSentDate"
ReadOnly
=
"False"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
EditFormSettings
>
<
FormTableItemStyle
Wrap
=
"False"
></
FormTableItemStyle
>
<
FormCaptionStyle
CssClass
=
"EditFormHeader"
></
FormCaptionStyle
>
<
FormMainTableStyle
GridLines
=
"None"
CellSpacing
=
"0"
CellPadding
=
"3"
BackColor
=
"White"
Width
=
"100%"
/>
<
FormTableStyle
CellSpacing
=
"0"
CellPadding
=
"2"
Height
=
"110px"
BackColor
=
"White"
/>
<
FormTableAlternatingItemStyle
Wrap
=
"False"
></
FormTableAlternatingItemStyle
>
<
EditColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn1"
CancelText
=
"Cancel edit"
>
</
EditColumn
>
<
FormTableButtonRowStyle
HorizontalAlign
=
"Right"
CssClass
=
"EditFormButtonRow"
></
FormTableButtonRowStyle
>
</
EditFormSettings
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
asp:SqlDataSource
SelectCommand
=
"SELECT InstallCount,PackageName,ToBeTestedID,ToBeTested,StatusID,Status,LOB,AlliancePartner,DslID,Contacts,EmailSentDate FROM AppFactory.dbo.WFCpackageinstalls"
UpdateCommand="
UPDATE AppFactory.dbo.WFCpackageinstalls SET
[StatusID] = @StatusID,
[ToBeTestedID] = @ToBeTestedID,
[LOB] = @LOB,
[AlliancePartner] = @AlliancePartner,
[Contacts] = @Contacts,
[EmailSentDate] = @EmailSentDate,
[DslID] = @DslID
WHERE [PackageName] = @PackageName"
ConnectionString="<%$ ConnectionStrings:LC2ConnectionString %>"
ProviderName="System.Data.SqlClient"
ID="DataSource1"
runat="server" >
<
UpdateParameters
>
<
asp:Parameter
Name
=
"StatusID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"ToBeTestedID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"LOB"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"AlliancePartner"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"PackageName"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Contacts"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"EmailSentDate"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"DslID"
Type
=
"String"
/>
</
UpdateParameters
>
</
asp:SqlDataSource
>
<
asp:SqlDataSource
SelectCommand
=
"SELECT StatusID, Status FROM AppFactory.dbo.lu_tbl_status"
ConnectionString="<%$ ConnectionStrings:LC2ConnectionString %>"
ProviderName="System.Data.SqlClient"
ID="SqlDataSource2"
runat="server"
/>
<
asp:SqlDataSource
SelectCommand
=
"SELECT ToBeTestedID, ToBeTested FROM AppFactory.dbo.lu_tbl_tobetested"
ConnectionString="<%$ ConnectionStrings:LC2ConnectionString %>"
ProviderName="System.Data.SqlClient"
ID="SqlDataSource3"
runat="server"
/>
Imports Telerik.Web.UI
Partial Class AppFactory
Inherits System.Web.UI.Page
Private gridMessage As String = Nothing
Protected Sub RadGrid1_DataBound(ByVal sender As Object, ByVal e As EventArgs)
If Not String.IsNullOrEmpty(gridMessage) Then
DisplayMessage(gridMessage)
End If
End Sub
Protected Sub RadGrid1_ItemDeleted(ByVal source As Object, ByVal e As Telerik.Web.UI.GridDeletedEventArgs)
If Not e.Exception Is Nothing Then
e.ExceptionHandled = True
SetMessage("Delete failed. Reason: " + e.Exception.Message)
Else
SetMessage("Item deleted!")
End If
End Sub
Protected Sub RadGrid1_ItemUpdated(ByVal source As Object, ByVal e As Telerik.Web.UI.GridUpdatedEventArgs)
If Not e.Exception Is Nothing Then
e.KeepInEditMode = True
e.ExceptionHandled = True
SetMessage("Update failed. Reason: " + e.Exception.Message)
Else
SetMessage("Item updated! " + source.ToString)
End If
End Sub
Protected Sub RadGrid1_ItemInserted(ByVal source As Object, ByVal e As Telerik.Web.UI.GridInsertedEventArgs)
If Not e.Exception Is Nothing Then
e.ExceptionHandled = True
e.KeepInInsertMode = True
SetMessage("Insert failed. Reason: " + e.Exception.Message)
Else
SetMessage("New product is inserted!")
End If
End Sub
Private Sub DisplayMessage(ByVal text As String)
RadGrid1.Controls.Add(New LiteralControl(String.Format("<
span
style
=
'color:red'
>{0}</
span
>", text)))
End Sub
Private Sub SetMessage(ByVal message As String)
gridMessage = message
End Sub
End Class
<
asp:Panel
ID
=
"myPanel"
runat
=
"server"
>
<
div
align
=
"center"
>
<
telerik:RadNumericTextBox
ID
=
"txtV"
runat
=
"server"
Width
=
"155px"
Height
=
"32px"
ShowSpinButtons
=
"True"
EnableSingleInputRendering
=
"false"
Type
=
"Number"
InvalidStyleDuration
=
"100"
Font-Size
=
"20px"
MinValue
=
"100"
Value
=
"100"
>
<
NumberFormat
AllowRounding
=
"False"
KeepNotRoundedValue
=
"False"
/>
<
IncrementSettings
Step
=
"100"
/>
</
telerik:RadNumericTextBox
>
</
div
>
</
asp:Panel
>
private List<
DockState
> CurrentDockStates
{
get
{
//Store the info about the added docks in the session. For real life
// applications we recommend using database or other storage medium
// for persisting this information.
List<
DockState
> _currentDockStates = (List<
DockState
>)Session["CurrentDockStatesDynamicDocks"];
if (Object.Equals(_currentDockStates, null))
{
_currentDockStates = new List<
DockState
>();
Session["CurrentDockStatesDynamicDocks"] = _currentDockStates;
}
return _currentDockStates;
}
set
{
Session["CurrentDockStatesDynamicDocks"] = value;
}
}
private RadDock CreateRadDockFromState(DockState state)
{
RadDock dock = new RadDock();
try
{
dock.ID = string.Format("RadDock{0}", state.UniqueName);
dock.ApplyState(state);
dock.EnableRoundedCorners = true;
dock.Command += new DockCommandEventHandler(dock_Command);
dock.Commands.Add(new DockCloseCommand());
dock.Commands.Add(new DockExpandCollapseCommand());
var dockSaveCmd = new DockCommand();
dockSaveCmd.Name = "SaveToDB";
dockSaveCmd.Text = "Save";
dockSaveCmd.CssClass = "sdSaveCmd";
dockSaveCmd.OnClientCommand = "SaveStopToDB";
dock.Commands.Add(dockSaveCmd);
}
catch (Exception ex)
{
return null;
throw new Exception(ex.Message, ex.InnerException);
}
return dock;
}
protected void Page_Init(object sender, EventArgs e)
{
//Recreate the docks in order to ensure their proper operation
for (int i = 0; i < CurrentDockStates.Count; i++)
{
RadDock dock = CreateRadDockFromState(CurrentDockStates[i]);
RadDockLayout1.Controls.Add(dock);
CreateSaveStateTrigger(dock);
}
}
private void CreateSaveStateTrigger(RadDock dock)
{
//Ensure that the RadDock control will initiate postback
// when its position changes on the client or any of the commands is clicked.
//Using the trigger we will "ajaxify" that postback.
dock.AutoPostBack = true;
dock.CommandsAutoPostBack = true;
AsyncPostBackTrigger saveStateTrigger = new AsyncPostBackTrigger();
saveStateTrigger.ControlID = dock.ID;
saveStateTrigger.EventName = "DockPositionChanged";
UpdatePanel1.Triggers.Add(saveStateTrigger);
saveStateTrigger = new AsyncPostBackTrigger();
saveStateTrigger.ControlID = dock.ID;
saveStateTrigger.EventName = "Command";
UpdatePanel1.Triggers.Add(saveStateTrigger);
}
void dock_Command(object sender, DockCommandEventArgs e)
{
if (e.Command.Name == "Close")
{
ScriptManager.RegisterStartupScript(
UpdatePanel1,
this.GetType(),
"RemoveDock",
string.Format(@"function _removeDock() {{
Sys.Application.remove_load(_removeDock);
$find('{0}').undock();
$get('{1}').appendChild($get('{0}'));
$find('{0}').doPostBack('DockPositionChanged');
}};
Sys.Application.add_load(_removeDock);", ((RadDock)sender).ClientID, UpdatePanel1.ClientID),
true);
}
else if (e.Command.Name == "SaveToDB")
{
var dock = ((RadDock)sender);
var stop = new Stop()
{
Id = int.Parse(dock.Tag),
Name = ((RadTextBox)stopCtrl.FindControl("rtbName")).Text,
Description = ((RadTextBox)stopCtrl.FindControl("TB_description")).Text,
};
if (stop.Id < 0)
{
stop.Id = stop.Insert();
dock.Tag = stop.Id.ToString();
}
else
stop.Update();
}
}
protected void RadDockLayout1_LoadDockLayout(object sender, DockLayoutEventArgs e)
{
//Populate the event args with the state information. The RadDockLayout control
// will automatically move the docks according that information.
foreach (DockState state in CurrentDockStates)
{
e.Positions[state.UniqueName] = state.DockZoneID;
e.Indices[state.UniqueName] = state.Index;
}
}
protected void RadDockLayout1_SaveDockLayout(object sender, DockLayoutEventArgs e)
{
//Save the dock state in the page Session. This will enable us
// to recreate the dock in the next Page_Init.
CurrentDockStates = RadDockLayout1.GetRegisteredDocksState();
}
protected void RadButtonCreate_Click(object sender, EventArgs e)
{
var dock = new RadDock();
dock.DockMode = DockMode.Docked;
dock.EnableRoundedCorners = true;
dock.UniqueName = Guid.NewGuid().ToString();
dock.ID = string.Format("RadDock{0}", dock.UniqueName);
dock.Tag = "-1";
StopFormTplEmpty widget = (StopFormTplEmpty)GlobalUtils.LoadControl(this, "~/Templates/StopFormTplEmpty.ascx");
widget.EnableViewState = true;
dock.ContentContainer.Controls.Add(widget);
dock.TitlebarTemplate = new DockTitleTemplate(dock, StopType.Unknown, "New");
dock.Width = Unit.Percentage(100);
dock.Height = Unit.Pixel(420);
dock.Commands.Add(new DockCloseCommand());
dock.Commands.Add(new DockExpandCollapseCommand());
var dockSaveCmd = new DockCommand();
dockSaveCmd.Name = "SaveToDB";
dockSaveCmd.Text = "Save";
dockSaveCmd.CssClass = "sdSaveCmd";
dockSaveCmd.OnClientCommand = "SaveStopToDB";
dock.Commands.Add(dockSaveCmd);
dock.CommandsAutoPostBack = true;
dock.Command += new DockCommandEventHandler(dock_Command);
UpdatePanel1.ContentTemplateContainer.Controls.Add(dock);
ScriptManager.RegisterStartupScript(
dock,
this.GetType(),
"AddDock",
string.Format(@"function _addDock() {{
Sys.Application.remove_load(_addDock);
$find('{1}').dock($find('{0}'),{2});
$find('{0}').doPostBack('DockPositionChanged');
}};
Sys.Application.add_load(_addDock);", dock.ClientID, RadDockZoneStops.ID, 0),
true);
CreateSaveStateTrigger(dock);
}