or
function rowCreating(sender, e) {
console.log('creating');
}
function rowCreated(sender, e) {
console.log('created');
}
function rowDeleting(sender, e) {
alert('deleting');
}
function rowDeleted(sender, e) {
alert('deleted');
}
<
telerik:RadGrid
ID
=
"uxGrid"
runat
=
"server"
CssClass
=
"timesheet"
AutoGenerateColumns
=
"false"
AllowPaging
=
"false"
AllowSorting
=
"false"
AllowMultiRowSelection
=
"true"
Skin
=
"Windows7"
ShowStatusBar
=
"false"
OnNeedDataSource
=
"uxGrid_NeedDataSource"
OnItemDataBound
=
"uxGrid_ItemDataBound"
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"true"
UseClientSelectColumnOnly
=
"true"
/>
<
Scrolling
AllowScroll
=
"true"
UseStaticHeaders
=
"true"
ScrollHeight
=
"250"
/>
<
ClientEvents
OnRowCreating
=
"rowCreating"
OnRowCreated
=
"rowCreated"
OnRowDeleting
=
"rowDeleting"
OnRowDeleted
=
"rowDeleted"
/>
</
ClientSettings
>
<
MasterTableView
TableLayout
=
"Fixed"
ClientDataKeyNames
=
"WeekEnding,CompanyId,ContactId,ProjectId,ProjectPhaseId,ServiceId,IsBillable,Comments"
DataKeyNames
=
"WeekEnding,CompanyId,ContactId,ProjectId,ProjectPhaseId,ServiceId,IsBillable,Comments"
HeaderStyle-CssClass
=
"timeEntryHeader"
ItemStyle-CssClass
=
"timeEntryRow"
AlternatingItemStyle-CssClass
=
"timeEntryAlternateRow"
FooterStyle-CssClass
=
"timeEntryFooter"
ShowFooter
=
"true"
ShowHeader
=
"true"
>
<
Columns
>
<
telerik:GridClientSelectColumn
HeaderStyle-Width
=
"25px"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-CssClass
=
"skinnyAsPossible nowrap"
ItemStyle-HorizontalAlign
=
"Center"
UniqueName
=
"Select"
Display
=
"false"
/>
<%-- COPY PREVIOUS ENTRY --%>
<
telerik:GridTemplateColumn
HeaderStyle-Width
=
"25px"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
UniqueName
=
"Duplicate"
>
<%--<
HeaderTemplate
>
<
asp:ImageButton
ID
=
"uxCopyFromLastWeek"
runat
=
"server"
SkinID
=
"Copy"
CausesValidation
=
"false"
ToolTip
=
"copy from last week"
Visible='<%# !WeekIsClosed %>'
OnClientClick="RadConfirm(this, 'Are you sure?', 'This will copy all rows from the previous week into this week. Are you sure you want to do this?', 250, 100)"
OnClick="uxCopyFromLastWeek_Click" />
</
HeaderTemplate
>--%>
<
ItemTemplate
>
<
asp:HiddenField
ID
=
"uxRowIndex"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# ((GridItem)Container).ItemIndex %>' />
<
asp:ImageButton
ID
=
"uxDuplicateCurrent"
runat
=
"server"
SkinID
=
"Copy"
CausesValidation
=
"false"
CommandArgument='<%# Container.ItemIndex %>' ToolTip="duplicate this entry" Visible='<%# !(bool)DataBinder.Eval(Container.DataItem, "IsClosed") %>'
OnClientClick="duplicateRow(this);return false;" TabIndex="-1" />
<
telerik:RadToolTip
ID
=
"uxDuplicateCurrentToolTip"
runat
=
"server"
SkinID
=
"Default"
TargetControlID
=
"uxDuplicateCurrent"
Position
=
"TopRight"
/>
</
ItemTemplate
>
<
FooterTemplate
>
<
asp:ImageButton
ID
=
"uxNewRecord"
runat
=
"server"
SkinID
=
"Add"
CausesValidation
=
"false"
ToolTip
=
"add new row"
OnClientClick
=
"addNewRow(this);return false;"
/>
</
FooterTemplate
>
</
telerik:GridTemplateColumn
>
<%-- PROJECT ID --%>
<
telerik:GridTemplateColumn
HeaderText
=
"Project"
HeaderStyle-Font-Bold
=
"true"
HeaderStyle-Width
=
"90px"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
UniqueName
=
"ProjectEnter"
>
<
ItemTemplate
>
<
blueSky:ProjectList
ID
=
"uxProjectList"
runat
=
"server"
EmptyMessage
=
"Project:"
ErrorCssClass
=
"errorInput"
SelectionRequired
=
"true"
ShowHeader
=
"false"
Enabled='<%# !(bool)DataBinder.Eval(Container.DataItem, "IsClosed") %>'
SelectedProjectAndPhase='<%# DataBinder.Eval(Container.DataItem, "MRC") %>' OnClientBlur="projectBlur" />
<
asp:HiddenField
ID
=
"uxSavedProjectList"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "MRC") %>' />
</
ItemTemplate
>
<
FooterTemplate
>
<
asp:LinkButton
ID
=
"uxNewRecordText"
runat
=
"server"
CausesValidation
=
"false"
Text
=
"add new record"
OnClientClick
=
"addNewRow(this);return false;"
/>
</
FooterTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Project (Floor)"
HeaderStyle-HorizontalAlign
=
"Center"
Display
=
"false"
UniqueName
=
"ProjectSubmit"
>
<
ItemTemplate
>
<
div
style
=
"padding: 0 2px;"
>
<
asp:Label
ID
=
"uxProject"
runat
=
"server"
Text='<%# DataBinder.Eval(Container.DataItem, "ProjectDescription") %>' />
</
div
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<%-- IS BILLABLE --%>
<
telerik:GridTemplateColumn
HeaderStyle-Width
=
"25px"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
UniqueName
=
"IsBillableEnter"
>
<
HeaderTemplate
>
<
asp:ImageButton
ID
=
"uxIsBillableImage"
runat
=
"server"
SkinID
=
"Money"
OnClientClick
=
"toggleIsBillable();"
ToolTip
=
"is the item billable?"
/></
HeaderTemplate
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"uxIsBillableCheckBox"
runat
=
"server"
TextAlign
=
"Left"
Checked='<%# DataBinder.Eval(Container.DataItem, "IsBillable") %>'
Enabled='<%# !(bool)DataBinder.Eval(Container.DataItem, "IsClosed") %>' ToolTip="is the item billable?"
onblur="isBillableBlur" onclick="isBillableClick" />
<
asp:HiddenField
ID
=
"uxSavedIsBillableCheckBox"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "IsBillable") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Billable"
HeaderStyle-Width
=
"45px"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
Display
=
"false"
UniqueName
=
"IsBillableSubmit"
>
<
ItemTemplate
>
<
asp:Image
ID
=
"uxIsBillable"
runat
=
"server"
SkinID
=
"Money"
Visible='<%# DataBinder.Eval(Container.DataItem, "IsBillable") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<%-- SERVICE --%>
<
telerik:GridTemplateColumn
HeaderText
=
"Service"
HeaderStyle-Font-Bold
=
"true"
HeaderStyle-Width
=
"110px"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-Width
=
"125px"
ItemStyle-HorizontalAlign
=
"Center"
UniqueName
=
"ServiceEnter"
>
<
ItemTemplate
>
<
blueSky:ServiceList
ID
=
"uxServiceList"
runat
=
"server"
EmptyMessage
=
"Service:"
ErrorCssClass
=
"errorInput"
SelectionRequired
=
"true"
Text='<%# DataBinder.Eval(Container.DataItem, "ServiceFriendlyName") %>'
ShowHeader="false" Enabled='<%# !(bool)DataBinder.Eval(Container.DataItem, "IsClosed") %>'
SelectedValue='<%# DataBinder.Eval(Container.DataItem, "ServiceId") %>' OnClientBlur="serviceBlur" />
<
asp:HiddenField
ID
=
"uxSavedServiceList"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "ServiceId") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Service"
DataField
=
"ServiceFriendlyName"
HeaderStyle-HorizontalAlign
=
"Center"
Display
=
"false"
UniqueName
=
"ServiceSubmit"
/>
<%-- COMMENTS --%>
<
telerik:GridTemplateColumn
HeaderText
=
"Comments"
HeaderStyle-Font-Bold
=
"true"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
ItemStyle-Wrap
=
"false"
UniqueName
=
"CommentsEnter"
>
<
ItemTemplate
>
<
telerik:RadTextBox
ID
=
"uxComments"
runat
=
"server"
name
=
"CheckSpelling"
MaxLength
=
"250"
Width
=
"95%"
Text='<%# DataBinder.Eval(Container.DataItem, "Comments") %>' Enabled='<%# !(bool)DataBinder.Eval(Container.DataItem, "IsClosed") %>'
ClientEvents-OnBlur='commentsBlur' />
<
asp:HiddenField
ID
=
"uxSavedComments"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "Comments") %>' />
<
asp:RequiredFieldValidator
ID
=
"uxCommentsRequired"
runat
=
"server"
ControlToValidate
=
"uxComments"
CssClass
=
"errorMessage"
Text
=
"!"
ErrorMessage
=
"comments are required"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Comment"
DataField
=
"Comments"
HeaderStyle-HorizontalAlign
=
"Center"
Display
=
"false"
UniqueName
=
"CommentsSubmit"
/>
<%-- DAYS --%>
<
telerik:GridTemplateColumn
HeaderStyle-Width
=
"450px"
>
<
HeaderTemplate
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
width
=
"100%"
class
=
"timeEntry"
>
<
tr
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday1 %> <%# Day1Type %> <%# Day1("ddd") %> dayHeaderName">
<
asp:Label
ID
=
"uxDay1"
runat
=
"server"
Text='<%# Day1(DayHeaderNameFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday2 %> <%# Day2Type %> <%# Day2("ddd") %> dayHeaderName">
<
asp:Label
ID
=
"uxDay2"
runat
=
"server"
Text='<%# Day2(DayHeaderNameFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday3 %> <%# Day3Type %> <%# Day3("ddd") %> dayHeaderName">
<
asp:Label
ID
=
"uxDay3"
runat
=
"server"
Text='<%# Day3(DayHeaderNameFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday4 %> <%# Day4Type %> <%# Day4("ddd") %> dayHeaderName">
<
asp:Label
ID
=
"uxDay4"
runat
=
"server"
Text='<%# Day4(DayHeaderNameFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday5 %> <%# Day5Type %> <%# Day5("ddd") %> dayHeaderName">
<
asp:Label
ID
=
"uxDay5"
runat
=
"server"
Text='<%# Day5(DayHeaderNameFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday6 %> <%# Day6Type %> <%# Day6("ddd") %> dayHeaderName">
<
asp:Label
ID
=
"uxDay6"
runat
=
"server"
Text='<%# Day6(DayHeaderNameFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday7 %> <%# Day7Type %> <%# Day7("ddd") %> dayHeaderName">
<
asp:Label
ID
=
"uxDay7"
runat
=
"server"
Text='<%# Day7(DayHeaderNameFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
rowspan
=
"2"
class
=
"rowHourSummaryHeader"
>
<
img
src
=
"../Images/spacer.gif"
width
=
"15"
/>∑
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday1 %> <%# Day1Type %> <%# Day1("ddd") %> dayHeaderDate">
<
asp:Label
ID
=
"uxDate1"
runat
=
"server"
Text='<%# Day1(DayHeaderDateFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday2 %> <%# Day2Type %> <%# Day2("ddd") %> dayHeaderDate">
<
asp:Label
ID
=
"uxDate2"
runat
=
"server"
Text='<%# Day2(DayHeaderDateFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday3 %> <%# Day3Type %> <%# Day3("ddd") %> dayHeaderDate">
<
asp:Label
ID
=
"uxDate3"
runat
=
"server"
Text='<%# Day3(DayHeaderDateFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday4 %> <%# Day4Type %> <%# Day4("ddd") %> dayHeaderDate">
<
asp:Label
ID
=
"uxDate4"
runat
=
"server"
Text='<%# Day4(DayHeaderDateFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday5 %> <%# Day5Type %> <%# Day5("ddd") %> dayHeaderDate">
<
asp:Label
ID
=
"uxDate5"
runat
=
"server"
Text='<%# Day5(DayHeaderDateFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday6 %> <%# Day6Type %> <%# Day6("ddd") %> dayHeaderDate">
<
asp:Label
ID
=
"uxDate6"
runat
=
"server"
Text='<%# Day6(DayHeaderDateFormatString) %>' />
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday7 %> <%# Day7Type %> <%# Day7("ddd") %> dayHeaderDate">
<
asp:Label
ID
=
"uxDate7"
runat
=
"server"
Text='<%# Day7(DayHeaderDateFormatString) %>' />
</
td
>
</
tr
>
</
table
>
</
HeaderTemplate
>
<
ItemTemplate
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
width
=
"100%"
class
=
"timeEntry"
>
<
tr
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday1 %> <%# Day1Type %> <%# Day1("ddd") %> hours">
<
telerik:RadAjaxPanel
ID
=
"uxHours1UpdatePanel"
runat
=
"server"
>
<
telerik:RadNumericTextBox
ID
=
"uxHours1"
runat
=
"server"
AllowOutOfRangeAutoCorrect
=
"false"
EmptyMessage
=
"0.00"
EmptyMessageStyle-CssClass
=
"timeEntryEmpty"
EnabledStyle-CssClass
=
"textRight"
FocusedStyle-CssClass
=
"timeEntryFocus"
HoveredStyle-CssClass
=
"timeEntryHover"
IncrementSettings-Step
=
".25"
MaxValue="<%# MaximumHoursPerDay %>" MinValue="0"
NumberFormat-DecimalDigits="2" NumberFormat-KeepTrailingZerosOnFocus="true" ReadOnly='<%# DataBinder.Eval(Container.DataItem, "IsClosed") %>'
ReadOnlyStyle-CssClass="timeEntryReadOnly" Width="100%" LabelCssClass="hide"
Text='<%# DataBinder.Eval(Container.DataItem, "Hours1") %>' ClientEvents-OnBlur="hoursBlur"
ClientEvents-OnFocus="hoursFocus" />
<
asp:HiddenField
ID
=
"uxSavedHours1"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "Hours1") %>' />
</
telerik:RadAjaxPanel
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday2 %> <%# Day2Type %> <%# Day2("ddd") %> hours">
<
telerik:RadAjaxPanel
ID
=
"uxHours2UpdatePanel"
runat
=
"server"
>
<
telerik:RadNumericTextBox
ID
=
"uxHours2"
runat
=
"server"
AllowOutOfRangeAutoCorrect
=
"false"
EmptyMessage
=
"0.00"
EmptyMessageStyle-CssClass
=
"timeEntryEmpty"
EnabledStyle-CssClass
=
"textRight"
FocusedStyle-CssClass
=
"timeEntryFocus"
HoveredStyle-CssClass
=
"timeEntryHover"
IncrementSettings-Step
=
".25"
MaxValue="<%# MaximumHoursPerDay %>" MinValue="0"
NumberFormat-DecimalDigits="2" NumberFormat-KeepTrailingZerosOnFocus="true" ReadOnly='<%# DataBinder.Eval(Container.DataItem, "IsClosed") %>'
ReadOnlyStyle-CssClass="timeEntryReadOnly" Width="100%" LabelCssClass="hide"
Text='<%# DataBinder.Eval(Container.DataItem, "Hours2") %>' ClientEvents-OnBlur="hoursBlur"
ClientEvents-OnFocus="hoursFocus" />
<
asp:HiddenField
ID
=
"uxSavedHours2"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "Hours2") %>' />
</
telerik:RadAjaxPanel
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday3 %> <%# Day3Type %> <%# Day3("ddd") %> hours">
<
telerik:RadAjaxPanel
ID
=
"uxHours3UpdatePanel"
runat
=
"server"
>
<
telerik:RadNumericTextBox
ID
=
"uxHours3"
runat
=
"server"
AllowOutOfRangeAutoCorrect
=
"false"
EmptyMessage
=
"0.00"
EmptyMessageStyle-CssClass
=
"timeEntryEmpty"
EnabledStyle-CssClass
=
"textRight"
FocusedStyle-CssClass
=
"timeEntryFocus"
HoveredStyle-CssClass
=
"timeEntryHover"
IncrementSettings-Step
=
".25"
MaxValue="<%# MaximumHoursPerDay %>" MinValue="0"
NumberFormat-DecimalDigits="2" NumberFormat-KeepTrailingZerosOnFocus="true" ReadOnly='<%# DataBinder.Eval(Container.DataItem, "IsClosed") %>'
ReadOnlyStyle-CssClass="timeEntryReadOnly" Width="100%" LabelCssClass="hide"
Text='<%# DataBinder.Eval(Container.DataItem, "Hours3") %>' ClientEvents-OnBlur="hoursBlur"
ClientEvents-OnFocus="hoursFocus" />
<
asp:HiddenField
ID
=
"uxSavedHours3"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "Hours3") %>' />
</
telerik:RadAjaxPanel
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday4 %> <%# Day4Type %> <%# Day4("ddd") %> hours">
<
telerik:RadAjaxPanel
ID
=
"uxHours4UpdatePanel"
runat
=
"server"
>
<
telerik:RadNumericTextBox
ID
=
"uxHours4"
runat
=
"server"
AllowOutOfRangeAutoCorrect
=
"false"
EmptyMessage
=
"0.00"
EmptyMessageStyle-CssClass
=
"timeEntryEmpty"
EnabledStyle-HorizontalAlign
=
"Right"
FocusedStyle-CssClass
=
"timeEntryFocus"
HoveredStyle-CssClass
=
"timeEntryHover"
IncrementSettings-Step
=
".25"
MaxValue="<%# MaximumHoursPerDay %>" MinValue="0"
NumberFormat-DecimalDigits="2" NumberFormat-KeepTrailingZerosOnFocus="true" ReadOnly='<%# DataBinder.Eval(Container.DataItem, "IsClosed") %>'
ReadOnlyStyle-CssClass="timeEntryReadOnly" Width="100%" LabelCssClass="hide"
Text='<%# DataBinder.Eval(Container.DataItem, "Hours4") %>' ClientEvents-OnBlur="hoursBlur"
ClientEvents-OnFocus="hoursFocus" />
<
asp:HiddenField
ID
=
"uxSavedHours4"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "Hours4") %>' />
</
telerik:RadAjaxPanel
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday5 %> <%# Day5Type %> <%# Day5("ddd") %> hours">
<
telerik:RadAjaxPanel
ID
=
"uxHours5UpdatePanel"
runat
=
"server"
>
<
telerik:RadNumericTextBox
ID
=
"uxHours5"
runat
=
"server"
AllowOutOfRangeAutoCorrect
=
"false"
EmptyMessage
=
"0.00"
EmptyMessageStyle-CssClass
=
"timeEntryEmpty"
EnabledStyle-HorizontalAlign
=
"Right"
FocusedStyle-CssClass
=
"timeEntryFocus"
HoveredStyle-CssClass
=
"timeEntryHover"
IncrementSettings-Step
=
".25"
MaxValue="<%# MaximumHoursPerDay %>" MinValue="0"
NumberFormat-DecimalDigits="2" NumberFormat-KeepTrailingZerosOnFocus="true" ReadOnly='<%# DataBinder.Eval(Container.DataItem, "IsClosed") %>'
ReadOnlyStyle-CssClass="timeEntryReadOnly" Width="100%" LabelCssClass="hide"
Text='<%# DataBinder.Eval(Container.DataItem, "Hours5") %>' ClientEvents-OnBlur="hoursBlur"
ClientEvents-OnFocus="hoursFocus" />
<
asp:HiddenField
ID
=
"uxSavedHours5"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "Hours5") %>' />
</
telerik:RadAjaxPanel
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday6 %> <%# Day6Type %> <%# Day6("ddd") %> hours">
<
telerik:RadAjaxPanel
ID
=
"uxHours6UpdatePanel"
runat
=
"server"
>
<
telerik:RadNumericTextBox
ID
=
"uxHours6"
runat
=
"server"
AllowOutOfRangeAutoCorrect
=
"false"
EmptyMessage
=
"0.00"
EmptyMessageStyle-CssClass
=
"timeEntryEmpty"
EnabledStyle-HorizontalAlign
=
"Right"
FocusedStyle-CssClass
=
"timeEntryFocus"
HoveredStyle-CssClass
=
"timeEntryHover"
IncrementSettings-Step
=
".25"
MaxValue="<%# MaximumHoursPerDay %>" MinValue="0"
NumberFormat-DecimalDigits="2" NumberFormat-KeepTrailingZerosOnFocus="true" ReadOnly='<%# DataBinder.Eval(Container.DataItem, "IsClosed") %>'
ReadOnlyStyle-CssClass="timeEntryReadOnly" Width="100%" LabelCssClass="hide"
Text='<%# DataBinder.Eval(Container.DataItem, "Hours6") %>' ClientEvents-OnBlur="hoursBlur"
ClientEvents-OnFocus="hoursFocus" />
<
asp:HiddenField
ID
=
"uxSavedHours6"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "Hours6") %>' />
</
telerik:RadAjaxPanel
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday7 %> <%# Day7Type %> <%# Day7("ddd") %> hours">
<
telerik:RadAjaxPanel
ID
=
"uxHours7UpdatePanel"
runat
=
"server"
>
<
telerik:RadNumericTextBox
ID
=
"uxHours7"
runat
=
"server"
AllowOutOfRangeAutoCorrect
=
"false"
EmptyMessage
=
"0.00"
EmptyMessageStyle-CssClass
=
"timeEntryEmpty"
EnabledStyle-HorizontalAlign
=
"Right"
FocusedStyle-CssClass
=
"timeEntryFocus"
HoveredStyle-CssClass
=
"timeEntryHover"
IncrementSettings-Step
=
".25"
MaxValue="<%# MaximumHoursPerDay %>" MinValue="0"
NumberFormat-DecimalDigits="2" NumberFormat-KeepTrailingZerosOnFocus="true" ReadOnly='<%# DataBinder.Eval(Container.DataItem, "IsClosed") %>'
ReadOnlyStyle-CssClass="timeEntryReadOnly" Width="100%" LabelCssClass="hide"
Text='<%# DataBinder.Eval(Container.DataItem, "Hours7") %>' ClientEvents-OnBlur="hoursBlur"
ClientEvents-OnFocus="hoursFocus" />
<
asp:HiddenField
ID
=
"uxSavedHours7"
runat
=
"server"
EnableViewState
=
"false"
Value='<%# DataBinder.Eval(Container.DataItem, "Hours7") %>' />
</
telerik:RadAjaxPanel
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class
=
"timeEntryRowSummary"
>
<
telerik:RadNumericTextBox
ID
=
"uxRowSummary"
runat
=
"server"
EmptyMessage
=
"0.00"
EnabledStyle-HorizontalAlign
=
"Right"
ForeColor
=
"#4B4B4B"
NumberFormat-DecimalDigits
=
"2"
ReadOnly
=
"true"
CssClass
=
"timeEntryRowSummary"
Width
=
"100%"
TabIndex
=
"-1"
ClientEvents-OnLoad
=
"updateRowSummary"
/>
</
td
>
</
tr
>
</
table
>
</
ItemTemplate
>
<
FooterTemplate
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
width
=
"100%"
class
=
"timeEntry"
>
<
tr
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday1 %> <%# Day1Type %> <%# Day1("ddd") %> summary">
<
telerik:RadNumericTextBox
ID
=
"uxSummary1"
runat
=
"server"
EmptyMessage
=
"0.00"
EnabledStyle-HorizontalAlign
=
"Right"
ForeColor
=
"#4B4B4B"
NumberFormat-DecimalDigits
=
"2"
ReadOnly
=
"true"
Width
=
"100%"
ClientEvents-OnLoad
=
"registerSummary"
/>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday2 %> <%# Day2Type %> <%# Day2("ddd") %> summary">
<
telerik:RadNumericTextBox
ID
=
"uxSummary2"
runat
=
"server"
EmptyMessage
=
"0.00"
EnabledStyle-HorizontalAlign
=
"Right"
ForeColor
=
"#4B4B4B"
NumberFormat-DecimalDigits
=
"2"
ReadOnly
=
"true"
Width
=
"100%"
ClientEvents-OnLoad
=
"registerSummary"
/>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday3 %> <%# Day3Type %> <%# Day3("ddd") %> summary">
<
telerik:RadNumericTextBox
ID
=
"uxSummary3"
runat
=
"server"
EmptyMessage
=
"0.00"
EnabledStyle-HorizontalAlign
=
"Right"
ForeColor
=
"#4B4B4B"
NumberFormat-DecimalDigits
=
"2"
ReadOnly
=
"true"
Width
=
"90%"
ClientEvents-OnLoad
=
"registerSummary"
/>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday4 %> <%# Day4Type %> <%# Day4("ddd") %> summary">
<
telerik:RadNumericTextBox
ID
=
"uxSummary4"
runat
=
"server"
EmptyMessage
=
"0.00"
EnabledStyle-HorizontalAlign
=
"Right"
ForeColor
=
"#4B4B4B"
NumberFormat-DecimalDigits
=
"2"
ReadOnly
=
"true"
Width
=
"100%"
ClientEvents-OnLoad
=
"registerSummary"
/>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday5 %> <%# Day5Type %> <%# Day5("ddd") %> summary">
<
telerik:RadNumericTextBox
ID
=
"uxSummary5"
runat
=
"server"
EmptyMessage
=
"0.00"
EnabledStyle-HorizontalAlign
=
"Right"
ForeColor
=
"#4B4B4B"
NumberFormat-DecimalDigits
=
"2"
ReadOnly
=
"true"
Width
=
"100%"
ClientEvents-OnLoad
=
"registerSummary"
/>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday6 %> <%# Day6Type %> <%# Day6("ddd") %> summary">
<
telerik:RadNumericTextBox
ID
=
"uxSummary6"
runat
=
"server"
EmptyMessage
=
"0.00"
EnabledStyle-HorizontalAlign
=
"Right"
ForeColor
=
"#4B4B4B"
NumberFormat-DecimalDigits
=
"2"
ReadOnly
=
"true"
Width
=
"100%"
ClientEvents-OnLoad
=
"registerSummary"
/>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class="<%# IsToday7 %> <%# Day7Type %> <%# Day7("ddd") %> summary">
<
telerik:RadNumericTextBox
ID
=
"uxSummary7"
runat
=
"server"
EmptyMessage
=
"0.00"
EnabledStyle-HorizontalAlign
=
"Right"
ForeColor
=
"#4B4B4B"
NumberFormat-DecimalDigits
=
"2"
ReadOnly
=
"true"
Width
=
"100%"
ClientEvents-OnLoad
=
"registerSummary"
/>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
class
=
"rowHourSummaryFooter"
>
<
telerik:RadNumericTextBox
ID
=
"uxSummary8"
runat
=
"server"
CssClass
=
"timeEntryRowSummary"
EmptyMessage
=
"0.00"
EnabledStyle-HorizontalAlign
=
"Right"
ForeColor
=
"#4B4B4B"
Font-Bold
=
"true"
NumberFormat-DecimalDigits
=
"2"
ReadOnly
=
"true"
Width
=
"100%"
ClientEvents-OnLoad
=
"registerSummary"
/>
</
td
>
</
tr
>
</
table
>
</
FooterTemplate
>
</
telerik:GridTemplateColumn
>
<%-- DELETE --%>
<
telerik:GridClientDeleteColumn
ButtonType
=
"ImageButton"
HeaderStyle-Width
=
"25px"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
ConfirmText
=
"Delete this entry?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
CommandName
=
"Delete"
Text
=
"Delete"
/>
<%--<
telerik:GridButtonColumn
HeaderText
=
"Delete"
ButtonType
=
"ImageButton"
HeaderStyle-Width
=
"60px"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
ConfirmText
=
"Delete this entry?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"Delete"
/> --%>
<%-- SUBMITTED --%>
<
telerik:GridTemplateColumn
HeaderText
=
"Submitted"
HeaderStyle-Width
=
"60px"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
UniqueName
=
"Submitted"
Display
=
"false"
>
<
ItemTemplate
>
<
asp:Image
ID
=
"uxIsSubmitted"
runat
=
"server"
SkinID
=
"CheckCircle_Orange"
Visible='<%# DataBinder.Eval(Container.DataItem, "IsSubmitted") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
table
width
=
"575"
border
=
"0"
style="text-align:
center"><
BR
> <
tr
><
BR
>
<
td
style="width:
30%"><
BR
>
</
td
><
BR
>
<
td
style="width:
40%"><
BR
>
<
table
border
=
"0"
runat
=
"server"
id
=
"Criteriatable"
width
=
"45px"
><
BR
>
<
tr
valign
=
"top"
style="visibility:
hidden;"><
BR
>
<
td
class
=
"SubHead"
width
=
"150px"
><
BR
>
<
asp:Label
ID
=
"plReportType"
runat
=
"server"
Visible
=
"false"
Text="ReportType
:"></
asp:Label
><
BR
>
</
td
><
BR
>
<
td
class
=
"SubHead"
width
=
"150px"
><
BR
>
<
asp:DropDownList
ID
=
"cboReportType"
runat
=
"server"
DataValueField
=
"value"
DataTextField
=
"text"
CssClass
=
"NormalTextBox"
Visible
=
"false"
><
BR
>
</
asp:DropDownList
><
BR
>
</
td
><
BR
>
</
tr
><
BR
>
<
tr
><
BR
>
<
td
><
BR
>
<
cwc:Label
ID
=
"lblFrom"
runat
=
"server"
/><
BR
>
</
td
><
BR
>
<
td
align
=
"left"
><
BR
>
<
telerik:RadDatePicker
ID
=
"RadDatePicker1"
runat
=
"server"
/><
BR
>
</
td
><
BR
>
</
tr
><
BR
>
<
tr
><
BR
>
<
td
><
BR
>
<
cwc:Label
ID
=
"lblTo"
runat
=
"server"
/><
BR
>
</
td
><
BR
>
<
td
align
=
"left"
><
BR
>
<
telerik:RadDatePicker
ID
=
"RadDatePicker2"
runat
=
"server"
/><
BR
>
</
td
><
BR
>
</
tr
><
BR
>
</
table
><
BR
>
</
td
><
BR
>
<
td
style="width:
30%"><
BR
>
</
td
><
BR
>
</
tr
><
BR
>
<
tr
><
BR
>
<
td
style
=
"text-align: center"
colspan
=
"3"
><
BR
>
<
ISWebDesktop:WebButton
ID
=
"cmdDisplay"
Width
=
"150px"
runat
=
"server"
CssClass
=
"CommandButton"
<BR>
CausesValidation="true" AutoPostback="true" PostBackMode="FullPostBack"
/><
BR
>
<
asp:CompareValidator
ID
=
"valStartDate"
CssClass
=
"NormalRed"
runat
=
"server"
Display
=
"Dynamic"
<BR>
CultureInvariantValues="true" Type="Date"
Operator="DataTypeCheck"
ControlToValidate="RadDatePicker1"></
asp:CompareValidator
><
BR
>
<
asp:CompareValidator
ID
=
"valEndDate"
CssClass
=
"NormalRed"
runat
=
"server"
Display
=
"Dynamic"
<BR>
CultureInvariantValues="true" Type="Date"
Operator="DataTypeCheck"
ControlToValidate="RadDatePicker2"></
asp:CompareValidator
><
BR
>
<
asp:CompareValidator
ID
=
"valDates"
CssClass
=
"NormalRed"
runat
=
"server"
Display
=
"Dynamic"
<BR>
CultureInvariantValues="true" Type="Date"
Operator="GreaterThan" ControlToValidate="RadDatePicker2"
ControlToCompare="RadDatePicker1"></
asp:CompareValidator
><
BR
>
</
td
><
BR
>
</
tr
><
BR
> </
table
>
using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
using Telerik.Web.UI;
namespace InternalControls.WebParts.RadControlTest
{
[Guid("8f913f14-3a18-4287-8444-401611d3cc1f")]
public class WebPart1 : System.Web.UI.WebControls.WebParts.WebPart
{
public WebPart1()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
Page.ClientScript.RegisterStartupScript(typeof(WebPart1), this.ID, "_spOriginalFormAction = document.forms[0].action;_spSuppressFormOnSubmitWrapper=true;", true);
if (this.Page.Form != null)
{
string formOnSubmitAtt = this.Page.Form.Attributes["onsubmit"];
if (!string.IsNullOrEmpty(formOnSubmitAtt) && formOnSubmitAtt == "return _spFormOnSubmitWrapper();")
{
this.Page.Form.Attributes["onsubmit"] = "_spFormOnSubmitWrapper();";
}
}
ScriptManager sm = ScriptManager.GetCurrent(this.Page);
if (sm == null)
{
sm = new RadScriptManager();
Controls.AddAt(0, sm);
}
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Panel panel = new Panel();
panel.ID = "Panel1";
this.Controls.Add(panel);
RadDatePicker rdp = new RadDatePicker();
rdp.PopupDirection = DatePickerPopupDirection.BottomRight;
rdp.Calendar.Enabled = true;
panel.Controls.Add(rdp);
RadAjaxManager ajaxManager = RadAjaxManager.GetCurrent(this.Page);
if (ajaxManager == null)
{
ajaxManager = new RadAjaxManager();
ajaxManager.ID = "RadAjaxManager1";
Controls.Add(ajaxManager);
this.Page.Items.Add(typeof(RadAjaxManager), ajaxManager);
}
ajaxManager.AjaxSettings.AddAjaxSetting(rdp, panel);
}
}
}
<
asp:ImageButton
ID
=
"imgSave"
runat
=
"server"
TabIndex
=
"120"
AlternateText
=
"Save"
ImageUrl
=
"~/images/icons/save-24.jpg"
ToolTip
=
"Save"
CommandName='<%# IIf (TypeOf Container is GridEditFormInsertItem, "PerformInsert", "Update") %>' />
var
f =
function
() { UpdateStatusBar(iKey); };
setTimeout(f, 1000);
return
true
;
public
class
Invoice
{
public
int
InvoiceId {
get
;
set
; }
public
string
CustomerName {
get
;
set
; }
public
double
Total {
get
;
set
; }
public
List<InvoiceLineItem> LineItems {
get
;
set
;}
}
public
class
InvoiceLineItem
{
public
string
Description {
get
;
set
; }
public
int
Quantity {
get
;
set
; }
public
decimal
Rate {
get
;
set
; }
public
decimal
Total {
get
{
return
Quantity * Rate; } }
}
protected
void
RadGridInvoices_DetailTableDataBind(
object
sender, GridDetailTableDataBindEventArgs e)
{
var invoices= e.DetailTableView.DataSource
as
IEnumerable<Invoice>;
if
(invoices !=
null
)
{
string
invoiceId =
e.DetailTableView.ParentItem.GetDataKeyValue(
"InvoiceId"
).ToString();
var invoice = invoices.First(inv => inv.InvoiceId == invoiceId);
e.DetailTableView.DataSource = invoice.LineItems;
}
}
VS 2008
Telerik 2010.2.713.35
.rcbArrowCell {background-image: none !important;} works great in IE, but in FF and Safari, the image only partly disappears (a thin vertical line remains). How can I make it invisible in FF and Safari?
Example below:
Page:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
style
id
=
"ThemeCSS"
runat
=
"server"
type
=
"text/css"
>
</
style
>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
>Untitled Page</
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:ScriptManager
ID
=
"Scriptmanager1"
runat
=
"server"
>
</
asp:ScriptManager
>
<
div
>
<
asp:Table
ID
=
"Table1"
runat
=
"server"
>
<
asp:TableRow
ID
=
"TableRow1"
runat
=
"server"
>
<
asp:TableCell
ID
=
"TableCell1"
runat
=
"server"
BackColor
=
"Red"
Width
=
"200px"
>
<
telerik:RadComboBox
ID
=
"RadComboBox1"
runat
=
"server"
>
</
telerik:RadComboBox
>
</
asp:TableCell
>
</
asp:TableRow
>
</
asp:Table
>
</
div
>
</
form
>
</
body
>
</
html
>
Imports
Telerik.Web.UI
Partial
Class
_Default
Inherits
System.Web.UI.Page
Private
Sub
DisableArrow(
ByVal
cbo
As
RadComboBox)
Dim
cboID
As
String
=
"#"
+ cbo.ClientID
Dim
ltrl
As
New
LiteralControl()
ltrl.ID =
"HideArrowCSS"
ltrl.Text = cboID +
" .rcbArrowCell {background-image: none !important; border: 0; padding: 0; width: 0px; background-color: Transparent;} "
ThemeCSS.Controls.Add(ltrl)
End
Sub
Protected
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Load
RadComboBox1.Height = 0
RadComboBox1.Width = 0
DisableArrow(RadComboBox1)
End
Sub
End
Class
protected
void
Page_Load(
object
sender, EventArgs e)
{
_Grid.DetailTableDataBind +=
new
GridDetailTableDataBindEventHandler(_Grid_DetailTableDataBind);
_Grid.NeedDataSource +=
new
GridNeedDataSourceEventHandler(_Grid_NeedDataSource);
LoadGrid();
}
void
_Grid_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
if
(!e.IsFromDetailTable)
{
_Grid.DataSource = GetDataTable(
"county:zavala"
);
}
}
void
_Grid_DetailTableDataBind(
object
sender, GridDetailTableDataBindEventArgs e)
{
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
switch
(e.DetailTableView.Name)
{
case
"PARENT"
:
{
//string ID = dataItem.GetDataKeyValue("ID").ToString();
e.DetailTableView.DataSource = GetDataTable(
"county:zavala"
);
break
;
}
case
"CHILD"
:
{
string
cscpID = dataItem.GetDataKeyValue(
"cscpID"
).ToString();
e.DetailTableView.DataSource = GetDataTable(
"cscpID:"
+ cscpID +
" view:WP"
);
break
;
}
}
}
private
SqlCommand QueryCommand(
string
Query)
{
SqlConnection conn =
new
SqlConnection(GetConnectionString(
"connTGS_"
));
SqlCommand cmd =
new
SqlCommand(
"tgs_.pd.NewQuery"
, conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter qry = cmd.Parameters.Add(
"@Query"
, SqlDbType.NVarChar, 2000);
qry.Value = Query;
SqlParameter iserror = cmd.Parameters.Add(
"@iserror"
, SqlDbType.Bit, 1);
iserror.Value =
false
;
return
cmd;
}
private
DataTable GetDataTable(
string
query)
{
SqlCommand cmd = QueryCommand(query);
SqlDataAdapter dA =
new
SqlDataAdapter(cmd);
DataTable dT =
new
DataTable();
dA.Fill(dT);
return
dT;
}
private
void
LoadGrid()
{
if
(!Page.IsPostBack)
{
_Grid.PageSize = 20;
_Grid.AllowPaging =
true
;
_Grid.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric;
_Grid.AutoGenerateColumns =
false
;
_Grid.ShowStatusBar =
true
;
_Grid.ClientSettings.AllowColumnsReorder =
true
;
_Grid.ClientSettings.AllowDragToGroup =
true
;
_Grid.ClientSettings.AllowColumnHide =
true
;
InitRootBand(
ref
_Grid);
InitChildBand(
ref
_Grid);
}
_radAjaxMan.AjaxSettings.AddAjaxSetting(_Grid, _Grid);
}
private
void
InitRootBand(
ref
RadGrid grid)
{
//grid.DataMember = "PARENT";
grid.MasterTableView.DataKeyNames =
new
string
[] {
"id"
};
grid.Columns.Add(newColumn(
"id"
,
"ID"
,
"id"
,
null
,
false
));
grid.Columns.Add(newColumn(
"cid"
,
"cID"
,
"p_cID"
,
null
,
false
));
grid.Columns.Add(newColumn(
"opid"
,
"opID"
,
"p_opID"
,
null
,
false
));
grid.Columns.Add(newColumn(
"CompanyName"
,
"Company Name"
,
"p_CompanyName"
,
null
,
false
));
}
private
void
InitChildBand(
ref
RadGrid grid)
{
GridTableView tableWP =
new
GridTableView(grid);
grid.MasterTableView.DetailTables.Add(tableWP);
//tableWP.DataMember = "CHILD";
tableWP.Name =
"CHILD"
;
tableWP.DataKeyNames =
new
string
[] {
"cscpID"
};
tableWP.Columns.Add(newColumn(
"ID"
,
"ID"
,
"ID"
,
null
,
false
));
tableWP.Columns.Add(newColumn(
"cscpID"
,
"cscpID"
,
"cscpID"
,
null
,
false
));
tableWP.Columns.Add(newColumn(
"cid"
,
"cID"
,
"c_cID"
,
null
,
false
));
tableWP.Columns.Add(newColumn(
"FirstMonth"
,
"First Month"
,
"c_FirstMonth"
,
"{0:MMM-yy}"
,
false
));
GridRelationFields drMain =
new
GridRelationFields();
drMain.MasterKeyField =
"id"
;
drMain.DetailKeyField =
"cscpID"
;
tableWP.ParentTableRelation.Add(drMain);
}
private
GridBoundColumn newColumn(
string
fieldName,
string
headerText,
string
Key,
string
format,
bool
hidden)
{
GridBoundColumn fld =
new
GridBoundColumn();
fld.DataField = fieldName;
fld.DataFormatString = format;
fld.HeaderText = headerText;
fld.Display = !hidden;
return
fld;
}