The following code doesn't work - it doesn't cause the controls to fire their client-side events in edit mode - any thoughts?
CS:
protected
void
rgRepricingApproval_ItemCreated(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem item = (GridEditableItem)e.Item;
GridEditManager editMan = item.EditManager;
GridNumericColumnEditor editorAgreedSellPrice = (GridNumericColumnEditor)editMan.GetColumnEditor(
"AgreedSellPrice"
);
RadNumericTextBox txtAgreedSellPrice = editorAgreedSellPrice.NumericTextBox;
txtAgreedSellPrice.ClientEvents.OnValueChanged +=
string
.Format(
"return ToggleValues({0});"
, e.Item.ItemIndex);
RadDropDownList rcbHibernate = (RadDropDownList)item.FindControl(
"ddlHibernateID"
);
rcbHibernate.OnClientSelectedIndexChanged +=
string
.Format(
"return ToggleValues({0});"
, e.Item.ItemIndex);
// ONLY THIS WORKS (non-Telerik)
CheckBox chkIsError = (CheckBox)item.FindControl(
"chkIsError"
);
chkIsError.Attributes[
"onchange"
] +=
string
.Format(
"return ToggleValues({0});"
, e.Item.ItemIndex);
}
}
ASPX:
<
telerik:GridNumericColumn
HeaderText
=
"Agreed Sell Price"
UniqueName
=
"AgreedSellPrice"
DataField
=
"AgreedSellPrice"
NumericType
=
"Currency"
DecimalDigits
=
"3"
ColumnEditorID
=
"ceAgreedSellPrice"
>
<
HeaderStyle
Width
=
"120px"
/>
<
ItemStyle
Width
=
"120px"
/>
</
telerik:GridNumericColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Hibernate Period"
UniqueName
=
"HibernateID"
DataField
=
"HibernateID"
ConvertEmptyStringToNull
=
"true"
>
<
HeaderStyle
Width
=
"110px"
CssClass
=
"headerHibernate"
/>
<
ItemStyle
Width
=
"110px"
Height
=
"50px"
/>
<
ItemTemplate
>
<
asp:Label
runat
=
"server"
ID
=
"lblHibernate"
Text='<%# Eval("Hibernate.HibernateText") %>' />
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadDropDownList
runat
=
"server"
ID
=
"ddlHibernateID"
AppendDataBoundItems
=
"true"
DataSourceID
=
"edsHibernate"
DataValueField
=
"HibernateID"
DataTextField
=
"HibernateText"
>
<
Items
>
<
telerik:DropDownListItem
Value
=
""
Text
=
""
/>
</
Items
>
</
telerik:RadDropDownList
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Error?"
UniqueName
=
"Error"
AllowSorting
=
"false"
AllowFiltering
=
"false"
>
<
HeaderStyle
Width
=
"60px"
CssClass
=
"headerError"
/>
<
ItemStyle
Width
=
"60px"
HorizontalAlign
=
"Center"
/>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"chkIsError"
runat
=
"server"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Error Reason"
UniqueName
=
"ErrorReason"
DataField
=
"ErrorReason"
>
<
HeaderStyle
Width
=
"200px"
CssClass
=
"headerError"
/>
<
ItemStyle
Width
=
"200px"
/>
<
ItemTemplate
>
<
asp:TextBox
ID
=
"txtErrorReason"
runat
=
"server"
TextMode
=
"MultiLine"
Columns
=
"20"
Rows
=
"2"
Enabled
=
"false"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
All items are in edit mode:
protected void rgRepricingApproval_PreRender(object sender, EventArgs e)
{
for (int i = 0; i < rgRepricingApproval.MasterTableView.PageSize; i++)
{
rgRepricingApproval.EditIndexes.Add(i);
}
rgRepricingApproval.Rebind();
}
<
telerik:RadGrid
ID
=
"RadGridExport"
runat
=
"server"
Visible
=
"False"
>
<
ExportSettings
ExportOnlyData
=
"True"
IgnorePaging
=
"True"
Excel-Format
=
"Biff"
HideStructureColumns
=
"True"
>
<
Excel
Format
=
"Biff"
/>
</
ExportSettings
>
<
MasterTableView
ShowHeader
=
"False"
AutoGenerateColumns
=
"True"
>
<
RowIndicatorColumn
Visible
=
"False"
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
Created
=
"True"
>
</
ExpandCollapseColumn
>
</
MasterTableView
>
<
FilterMenu
EnableTheming
=
"True"
>
<
CollapseAnimation
Type
=
"OutQuint"
Duration
=
"200"
>
</
CollapseAnimation
>
</
FilterMenu
>
</
telerik:RadGrid
>
--------------------------
Public Sub ExportRadGrid(ByRef radGrid As Telerik.Web.UI.RadGrid)
'-- Export the specified grid to the specified format
radGrid.Visible = True
radGrid.Rebind()
With radGrid.ExportSettings
If radGrid.ID = "RadGrid1" Then
.FileName = "DivisionTotals"
ElseIf radGrid.ID = "RadGrid2" Then
.FileName = "GrantorTotals"
Else
.FileName = "GrantList"
End If
.ExportOnlyData = True
.IgnorePaging = True
.OpenInNewWindow = True
End With
Select Case ddlExportFormat.SelectedValue
Case "Microsoft Excel"
If radGrid.ID = "RadGrid1" Then
For Each col As GridColumn In radGrid.MasterTableView.RenderColumns
col.HeaderStyle.Width = Unit.Pixel(175)
Next
ElseIf radGrid.ID = "RadGrid2" Then
For Each col As GridColumn In radGrid.MasterTableView.RenderColumns
'For Each col1 As GridColumn In radGrid.
col.HeaderStyle.Width = Unit.Pixel(275)
Next
ElseIf radGrid.ID = "RadGridExport" Then 'RadGridGrants on Grants.aspx
Debug.Print("START")
radGrid.ShowHeader = False
radGrid.ExportSettings.SuppressColumnDataFormatStrings = False
For Each col As GridColumn In radGrid.MasterTableView.RenderColumns
Debug.Print("DataTypeName: " + col.DataTypeName)
Debug.Print("ColumnType: " + col.ColumnType)
Debug.Print("HeaderText: " + col.HeaderText)
Debug.Print("UniqueName: " + col.UniqueName)
col.HeaderText = col.UniqueName
'For Each col1 As GridColumn In radGrid.
col.HeaderStyle.Width = Unit.Pixel(275)
Next
Debug.Print("END")
End If
radGrid.MasterTableView.ExportToExcel()
Case "Microsoft Word"
radGrid.MasterTableView.ExportToWord()
Case "Adobe PDF"
radGrid.MasterTableView.ExportToPdf()
Case "CSV"
radGrid.MasterTableView.ExportToCSV()
End Select
End Sub
Hi,
in my web application I use RichTextBox control to load docx template (created in Word 2013), which fill with data and then save this file to local destination.
Problem is, when I save file to local destination, Word 2013 open them in compatibility mode.
whether richtextbox supports office 2013 files?
Thans
Hi,
Is there a way to make the value the displayed selected value and still have the drop down show the text when selecting. My objective is to show a short version of the full description (e.g. TBA = To be announced). So when you open the drop down you see "To be Announced" and but the selection shows TBA. The reason is that we have limited space on the form and we want to keep the fields fairly narrow.
Thanks!
I have a radgrid I am using to create what is essentially a dynamic crosstab where I create date columns across the top, based on calculations at runtime. I know many of the column names at design and have tried both autogenerating columns and not. Some columns i do not know until runtime (week start dates). I'm trying to sum the number in those dynamically created week columns and having no luck. What would be my best option??
my aspx:
<telerik:RadGrid ID="RadGrid1" runat="server" AllowSorting="True" AllowMultiRowSelection="false" AllowPaging="True" ShowGroupPanel="false" AutoGenerateColumns="false" GridLines="none" pagesize="500">
<MasterTableView ShowGroupFooter="true" UseAllDataFields="True">
<GroupByExpressions>
<telerik:GridGroupByExpression>
<SelectFields>
<telerik:GridGroupByField FieldAlias="Team" FieldName="Team" HeaderValueSeparator=": "></telerik:GridGroupByField>
</SelectFields>
<GroupByFields>
<telerik:GridGroupByField FieldName="Team" SortOrder="ascending"></telerik:GridGroupByField>
</GroupByFields>
</telerik:GridGroupByExpression>
<telerik:GridGroupByExpression>
<SelectFields>
<telerik:GridGroupByField FieldAlias="SkillRequired" FieldName="SkillRequired" HeaderValueSeparator=": "></telerik:GridGroupByField>
</SelectFields>
<GroupByFields>
<telerik:GridGroupByField FieldName="SkillRequired"></telerik:GridGroupByField>
</GroupByFields>
</telerik:GridGroupByExpression>
</GroupByExpressions>
<Columns>
</Columns>
</MasterTableView>
<ClientSettings ReorderColumnsOnClient="True" AllowDragToGroup="True" AllowColumnsReorder="True">
<Selecting AllowRowSelect="True"></Selecting>
<Resizing AllowRowResize="True" AllowColumnResize="True" EnableRealTimeResize="True"
ResizeGridOnColumnResize="False"></Resizing>
</ClientSettings>
<GroupingSettings ShowUnGroupButton="true"></GroupingSettings>
</telerik:RadGrid>
My Code Behind:
Protected Sub ProcessResources()
'Add columns for the weeks between the to and from dates
If IsDate([To].Text) And IsDate(From.Text) Then
Dim MyRecords As DataSet = LoadResources([From].Text, [To].Text)
Dim myWeeks As ArrayList = ReturnWeeks(From.Text, [To].Text)
For i = 0 To myWeeks.Count - 1
Dim myColumn As New DataColumn
MyRecords.Tables("Resources").Columns.Add(myWeeks.Item(i))
'changed columns to be autogenerated in order to attempt summation of hours
'Dim boundColumn As GridBoundColumn
'boundColumn = New GridBoundColumn()
'RadGrid1.MasterTableView.Columns.Add(boundColumn)
'boundColumn.Aggregate = GridAggregateFunction.Sum
'boundColumn.FooterText = "Sum of Hours:"
'boundColumn.DataField = myWeeks.Item(i)
'boundColumn.HeaderText = myWeeks.Item(i)
Next
'Iterate through myRecords and add hours where the task is in the range
Dim j As Integer
For j = 0 To MyRecords.Tables("Resources").Rows.Count - 1
Dim estimatedStart As Date = MyRecords.Tables("resources").Rows(j).Item("estimatedstartdate")
Dim estimatedEnd As Date = MyRecords.Tables("resources").Rows(j).Item("estimatedenddate")
Dim hours As Integer = MyRecords.Tables("resources").Rows(j).Item("esthours")
Dim k As Integer
For k = 0 To myWeeks.Count - 1
Dim weekstart As Date = myWeeks.Item(k)
Dim Weekend As Date = DateAdd(DateInterval.DayOfYear, 6, weekstart)
If estimatedStart <= Weekend And estimatedEnd >= weekstart Then
MyRecords.Tables("Resources").Rows(j).Item(weekstart) = hours
Else
MyRecords.Tables("Resources").Rows(j).Item(weekstart) = 0
End If
Next
Next
MyRecords.Tables("Resources").Columns.Remove("EstimatedSTartDate")
MyRecords.Tables("Resources").Columns.Remove("EstimatedEndDate")
RadGrid1.DataSource = MyRecords.Tables("Resources")
RadGrid1.DataBind()
End If
End Sub