I have an ASPX Site with Telerik AJAX, in a editable RadGrid with EditMode="EditForms", each time user press Return, system shows an Object Reference not set to an instance of an object.
RadGrid Definition
<telerik:RadGrid RenderMode="Lightweight" ID="GridSCG" runat="server" AutoGenerateColumns="False"
AllowFilteringByColumn="True" AllowSorting="True" AllowPaging="True" Culture="es-MX"
OnNeedDataSource="GridSCG_NeedDataSource" OnDeleteCommand="GridSCG_DeleteCommand"
OnInsertCommand="GridSCG_InsertCommand" OnItemCreated="GridSCG_ItemCreated" OnUpdateCommand="GridSCG_UpdateCommand"
CellSpacing="-1" GridLines="Both" OnItemDataBound="GridSCG_ItemDataBound" Skin="Telerik">
<PagerStyle PageSizeControlType="RadDropDownList" Mode="NextPrevAndNumeric"></PagerStyle>
<ClientSettings AllowKeyboardNavigation="true">
<ClientEvents OnKeyPress="OnKeyPress" />
</ClientSettings>
<FilterMenu RenderMode="Lightweight"></FilterMenu>
<HeaderContextMenu RenderMode="Lightweight"></HeaderContextMenu>
<ClientSettings AllowKeyboardNavigation="true">
<Resizing AllowColumnResize="true" ResizeGridOnColumnResize="true" AllowResizeToFit="true" />
<ClientEvents OnRowDblClick="rowDblClick" />
<Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="true" FrozenColumnsCount="2"></Scrolling>
</ClientSettings>
<MasterTableView AutoGenerateColumns="False" InsertItemPageIndexAction="ShowItemOnCurrentPage" EditMode="EditForms"
DataKeyNames="DTA_SECUENCIA" CommandItemDisplay="Top">
<SortExpressions>
<telerik:GridSortExpression FieldName="DTA_SECUENCIA" SortOrder="Descending" />
</SortExpressions>
This is the Error
[NullReferenceException: Object reference not set to an instance of an object.]
Telerik.Web.UI.GridDateTimeColumnEditor.set_Text(String value) +73
Telerik.Web.UI.GridBoundColumn.OnDataBindColumn(Object sender, EventArgs e) +2669
System.Web.UI.Control.OnDataBinding(EventArgs e) +84
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +150
System.Web.UI.Control.DataBind() +17
System.Web.UI.Control.DataBindChildren() +185
Is possible to detect Radspreadsheet Select all button is clicked? (Server or client code)
I have a Telerik.XamarinForms.DataControls.RadListView and added a SelectionChanged listener (because I can't find the documentation for ItemTapped method signature).
In SelectionChanged I navigate to another page, but when the user comes back the item is still selected. So I'd like to clear the selection.
How?
I'm trying to load the combobox that is inside the radgrid using the RadGrid1_ItemCommand, using the command to insert a new line into the radgrid that is empty, but the following error is displayed: Can not convert an object of type 'Telerik.Web.UI .GridCommandItem 'in type' Telerik.Web.UI.GridEditableItem. Here's a part of the code:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
ShowStatusBar
=
"true"
AllowSorting
=
"true"
SortingSettings-EnableSkinSortStyles
=
"false"
AllowAutomaticDeletes
=
"true"
AllowAutomaticInserts
=
"true"
AllowAutomaticUpdates
=
"True"
AllowMultiRowSelection
=
"true"
HorizontalAlign
=
"Center"
PageSize
=
"10"
EnableViewState
=
"false"
>
<
MasterTableView
AutoGenerateColumns
=
"false"
CommandItemDisplay
=
"Top"
DataKeyNames
=
"NRO_ITEM"
>
<
NoRecordsTemplate
>
<
div
> Sem itens </
div
>
</
NoRecordsTemplate
>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"TRB_LOTE_NRO"
DataField
=
"TRB_LOTE_NRO"
HeaderText
=
"TRB_LOTE_NRO"
/>
<
telerik:GridBoundColumn
UniqueName
=
"QUANTIDADE"
DataField
=
"QUANTIDADE"
DataType
=
"System.Int32"
HeaderText
=
"QUANTIDADE"
/>
<
telerik:GridBoundColumn
UniqueName
=
"TIPO"
DataField
=
"TIPO"
HeaderText
=
"TIPO"
/>
<
telerik:GridBoundColumn
UniqueName
=
"DESCRICAO"
DataField
=
"DESCRICAO"
HeaderText
=
"DESCRICAO"
/>
<
telerik:GridBoundColumn
UniqueName
=
"ID_RT"
DataField
=
"ID_RT"
HeaderText
=
"RT"
/>
<
telerik:GridBoundColumn
UniqueName
=
"ID_NRO_GMM"
DataField
=
"ID_NRO_GMM"
HeaderText
=
"ID_NRO_GMM"
DataType
=
"System.Int32"
Visible
=
"false"
/>
<
telerik:GridBoundColumn
UniqueName
=
"NRO_ITEM"
DataField
=
"NRO_ITEM"
HeaderText
=
"NRO_ITEM"
DataType
=
"System.Int32"
Visible
=
"false"
/>
<
telerik:GridEditCommandColumn
HeaderStyle-Width
=
"100px"
HeaderText
=
"Edita"
/>
<
telerik:GridButtonColumn
CommandName
=
"Delete"
UniqueName
=
"DeleteColumn"
HeaderStyle-Width
=
"100px"
Text
=
"Delete"
/>
</
Columns
>
<
EditFormSettings
EditFormType
=
"Template"
>
<
FormTemplate
>
<
div
style
=
"width: 300px"
>
<
div
style
=
"margin:5px;"
>
<
asp:Label
ID
=
"TRB_LOTE_NROLbl"
runat
=
"server"
Text
=
"Trb_Lote_Nro:"
/> <
telerik:RadComboBox
ID
=
"TRB_LOTE_NROCmbGrid"
runat
=
"server"
Text='<%# Bind("TRB_LOTE_NRO") %>' />
</
div
>
<
div
style
=
"margin:5px;"
>
<
asp:Label
ID
=
"QUANTIDADELbl"
runat
=
"server"
Text
=
"Quantidade:"
meta:resourceKey
=
"QUANTIDADELbl"
/> <
asp:TextBox
ID
=
"QUANTIDADETxtGrid"
runat
=
"server"
Text='<%# Bind("QUANTIDADE") %>'/>
</
div
>
<
div
style
=
"margin:5px;"
>
<
asp:Label
ID
=
"TIPOLbl"
runat
=
"server"
Text
=
"Tipo:"
/> <
telerik:RadComboBox
ID
=
"TIPOCmbGrid"
runat
=
"server"
/>
</
div
>
<
div
style
=
"margin:5px;"
>
<
asp:Label
ID
=
"DESCRICAOLbl"
runat
=
"server"
Text
=
"Descrição:"
/> <
asp:TextBox
ID
=
"DESCRICAOTxtGrid"
runat
=
"server"
Text='<%# Bind("DESCRICAO") %>'/>
</
div
>
<
div
style
=
"margin:5px;"
>
<
asp:Label
ID
=
"ID_RT"
runat
=
"server"
Text
=
"RT:"
/> <
telerik:RadComboBox
ID
=
"ID_RTCmbGrid"
runat
=
"server"
Text='<%# Bind("ID_RT") %>' />
</
div
>
<
div
style
=
"margin:10px;text-align:right;"
>
<
telerik:RadButton
ID
=
"btnUpdate"
Text='<%# IIf((TypeOf (Container) Is GridEditFormInsertItem), AddJS, UpdateJS) %>' runat="server" CommandName='<%# IIf((TypeOf (Container) Is GridEditFormInsertItem), "PerformInsert", "Update")%>'/>
<
telerik:RadButton
ID
=
"btnCancel"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
Text
=
"Cancelar"
/>
</
div
>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
<
ClientSettings
EnableRowHoverStyle
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
/>
<
ClientEvents
OnRowDblClick
=
"RowDblClick"
/>
<
Scrolling
AllowScroll
=
"True"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
Private
Sub
RadGrid1_ItemCommand(sender
As
Object
, e
As
GridCommandEventArgs)
Handles
RadGrid1.ItemCommand
If
e.CommandName = RadGrid.InitInsertCommandName
Then
'"Add new" button clicked
e.Canceled =
True
Dim
newValues
As
New
System.Collections.Specialized.ListDictionary()
newValues(
"ID_RT"
) =
""
newValues(
"DESCRICAO"
) =
""
newValues(
"QUANTIDADE"
) =
""
newValues(
"TRB_LOTE_NRO"
) =
""
newValues(
"NRO_ITEM"
) =
""
e.Item.OwnerTableView.InsertItemPageIndexAction = GridInsertItemPageIndexAction.ShowItemOnCurrentPage
e.Item.OwnerTableView.InsertItem(newValues)
'If Not (TypeOf e.Item Is IGridInsertItem) Then
Dim
editform
As
GridEditFormItem =
DirectCast
(
DirectCast
(e.Item, Telerik.Web.UI.GridDataItem).EditFormItem, GridEditFormItem)
Dim
comboTrbLote
As
RadComboBox =
DirectCast
(editform.FindControl(
"TRB_LOTE_NROCmbGrid"
), RadComboBox)
Dim
comboTipo
As
RadComboBox =
DirectCast
(editform.FindControl(
"TIPOCmbGrid"
), RadComboBox)
Dim
comboRT
As
RadComboBox =
DirectCast
(editform.FindControl(
"ID_RTCmbGrid"
), RadComboBox)
Expressao =
"SELECT DISTINCT ID_EMP_ESTAB FROM EMPRESAS WHERE ESTAB= '"
& DepartamentoCmb.Text &
"'"
TabelaAdapter =
New
OleDbDataAdapter(Expressao, conexao)
'preenche o datatable
Tabela =
New
DataTable
TabelaAdapter.Fill(Tabela)
id_estab = Tabela.Rows(0).Item(0).ToString
Expressao =
"SELECT TRABALHOS.ID_NRO_TRAB, TRABALHOS.ID_NRO_MAQ, TRABALHOS.VERSAO FROM TRABALHOS, CONTRATOS "
&
"WHERE TRABALHOS.ID_CONTRATO = CONTRATOS.ID_CONTRATO AND CONTRATOS.ATIVO=TRUE AND CONTRATOS.ID_EMP_ESTAB = "
& id_estab &
" ORDER BY TRABALHOS.ID_NRO_TRAB, TRABALHOS.ID_NRO_MAQ, TRABALHOS.VERSAO ASC"
TabelaAdapter =
New
OleDbDataAdapter(Expressao, conexao)
'preenche o datatable
Tabela =
New
DataTable
TabelaAdapter.Fill(Tabela)
For
i = 0
To
Tabela.Rows.Count - 1
comboTrbLote.Items.Add(Tabela.Rows(i).Item(0).ToString &
"."
& Tabela.Rows(i).Item(1).ToString &
"-"
& Tabela.Rows(i).Item(2).ToString)
Next
Expressao =
"SELECT MATERIAL FROM TIPO_MATERIAL_GMM"
TabelaAdapter =
New
OleDbDataAdapter(Expressao, conexao)
Tabela =
New
DataTable
TabelaAdapter.Fill(Tabela)
For
i = 0
To
Tabela.Rows.Count - 1
comboTipo.Items.Add(Tabela.Rows(i).Item(0).ToString)
Next
Expressao =
"SELECT CONTRATOS.ID_CONTRATO, CONTRATOS.ID_EMP_ESTAB, ID_RT "
&
"FROM EMPRESAS INNER JOIN (CONTRATOS INNER JOIN RTS ON CONTRATOS.ID_CONTRATO = RTS.ID_CONTRATO) "
&
"ON EMPRESAS.ID_EMP_ESTAB = CONTRATOS.ID_EMP_ESTAB WHERE CONTRATOS.ATIVO=TRUE AND EMPRESAS.ID_EMP_ESTAB = "
& id_estab &
" ORDER BY ID_RT"
TabelaAdapter =
New
OleDbDataAdapter(Expressao, conexao)
'preenche o datatable
Tabela =
New
DataTable
TabelaAdapter.Fill(Tabela)
For
i = 0
To
Tabela.Rows.Count - 1
comboRT.Items.Add(Tabela.Rows(i).Item(2).ToString)
Next
ElseIf
(e.CommandName = RadGrid.RebindGridCommandName
AndAlso
e.Item.OwnerTableView.IsItemInserted)
Then
e.Canceled =
True
Else
Dim
editColumn
As
GridEditCommandColumn =
CType
(RadGrid1.MasterTableView.GetColumn(
"EditCommandColumn"
), GridEditCommandColumn)
If
Not
editColumn.Visible
Then
editColumn.Visible =
True
End
If
End
If
End
Sub
I've done some considerable searching and experimentation on newline mode. I understand that newlinemode.br or .div are necessary for formatting, alignment, etc. However, .div and .p produce some undesirable results. Both in your online demo and in my dev site.
Take the following simple example in html mode
<div class="im-a-div">
put your cursor after me and press enter 3-4 times
</div>
Switch to design mode and press enter 3 or 4 times.
The result looks like this:
<div class="im-a-div">
dddd
</div>
<p class="im-a-div"> </p>
<p class="im-a-div"> </p>
<p class="im-a-div"> </p>
<p class="im-a-div"> </p>
Is there some sort of custom filter, or override that I could apply to the newline that would prevent the classes from being applied to these new block elements - and allow them to be inserted inside the <div> that I had intended to work inside? These new <p>'s aren't even inside the div that I was working inside of, and are being placed afterward.
Ideally, the resulting html should look something like
<div class="im-a-div">
<p>nbsp;</p>
<p>nbsp;</p>
<p>nbsp;</p>
</div>
Hi All,
here is what I am trying to achieve;
While my Telerik data form is in InsertNewItem mode, I need to use user's data entries in any of the RadTextBox as they enter it, before they click on the "Insert" button. I need to be able to extract that data entry once they move focus away from that TextBox so that I can use it to run data query and fill other textboxes in the same InsertItem form template. Later the user will have the ability to click on Insert to add that new record to the SqlDataSource already linked to the Telerik DataForm.
your help is highly appreciated!
Hi, I am new to Kendo UI and especially with its Grid.
Is there a way to emphasise the editable field of a Kendo Grid?
Thank you very much.
I have a RadGrid with a customized GridDrownColumn, everything based on this http://docs.telerik.com/devtools/aspnet-ajax/controls/grid/how-to/customize-griddropdowncolumn The dropdown is working ok, i've had problems cause in gridViewMode the column was empty, however i manage to handle this.
Now the only problem es when the record is in EditMode, the selected value in the combo is always the first element of the list, no matter wich value is selected
protected void GridSCG_ItemDataBound(object sender, GridItemEventArgs e)Hi,
I have a RadGrid with ExportToExcel functionality. That works very well.
My problem:
When I filter the data by EndDate (data between two EndDates). Then clicking on ExportToExcel button gives error "The string was not recognized as a valid DateTime."
Here's my markup:
01.
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"ContentPlaceHolder1"
runat
=
"server"
>
02.
<
script
type
=
"text/javascript"
>
03.
function requestStart(sender, args) {
04.
if (args.get_eventTarget().indexOf("DownloadPDF") > 0 || args.get_eventTarget().indexOf("ExportToExcelButton") >= 0)
05.
args.set_enableAjax(false);
06.
}
07.
</
script
>
08.
<
telerik:radgrid
id
=
"grdView"
runat
=
"server"
skinid
=
"grdViewSkin"
autogeneratecolumns
=
"False"
09.
cellspacing
=
"0"
gridlines
=
"None"
showgrouppanel
=
"true"
allowmultirowselection
=
"true"
10.
onneeddatasource
=
"grdView_NeedDataSource"
>
11.
<
MasterTableView
HierarchyLoadMode
=
"ServerOnDemand"
HierarchyDefaultExpanded
=
"false"
DataKeyNames
=
"ID"
>
12.
<
Columns
>
13.
<
telerik:GridBoundColumn
DataField
=
"ID"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter ID"
HeaderText
=
"ID"
UniqueName
=
"ID"
></
telerik:GridBoundColumn
>
14.
<
telerik:GridBoundColumn
DataField
=
"Name"
FilterControlAltText
=
"Filter Name"
HeaderText
=
"Name"
UniqueName
=
"Name"
></
telerik:GridBoundColumn
>
15.
<
telerik:GridDateTimeColumn
DataField
=
"StartDate"
DataFormatString
=
"{0:MM/dd/yy}"
DataType
=
"System.DateTime"
16.
FilterControlAltText
=
"Filter StartDate"
HeaderText
=
"StartDate"
UniqueName
=
"StartDate"
></
telerik:GridDateTimeColumn
>
17.
<
telerik:GridDateTimeColumn
DataField
=
"EndDate"
DataFormatString
=
"{0:MM/dd/yy}"
DataType
=
"System.DateTime"
HeaderText
=
"EndDate"
UniqueName
=
"EndDate"
>
18.
<
FilterTemplate
>
19.
<
telerik:RadDatePicker
ID
=
"dateFrom"
runat
=
"server"
>
20.
<
ClientEvents
OnDateSelected
=
"FromDateSelected"
/>
21.
</
telerik:RadDatePicker
>
22.
To
23.
<
telerik:RadDatePicker
ID
=
"dateTo"
runat
=
"server"
Width
=
"30px"
>
24.
<
ClientEvents
OnDateSelected
=
"ToDateSelected"
/>
25.
</
telerik:RadDatePicker
>
26.
<
telerik:RadScriptBlock
ID
=
"scriptFilterEventDate"
runat
=
"server"
>
27.
<
script
type
=
"text/javascript"
>
28.
function FromDateSelected(sender, args) {
29.
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
30.
var ToPicker = $find('<%# ((GridItem)Container).FindControl("dateTo").ClientID %>');
31.
32.
var fromDate = FormatSelectedDate(sender);
33.
var toDate = FormatSelectedDate(ToPicker);
34.
35.
if (toDate != '') {
36.
tableView.filter("ContractEndDate", fromDate + " " + toDate, "Between");
37.
}
38.
}
39.
40.
function ToDateSelected(sender, args) {
41.
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
42.
var FromPicker = $find('<%# ((GridItem)Container).FindControl("dateFrom").ClientID %>');
43.
44.
var fromDate = FormatSelectedDate(FromPicker);
45.
var toDate = FormatSelectedDate(sender);
46.
47.
if (fromDate != '') {
48.
tableView.filter("ContractEndDate", fromDate + " " + toDate, "Between");
49.
}
50.
}
51.
52.
function FormatSelectedDate(picker) {
53.
var date = picker.get_selectedDate();
54.
var dateInput = picker.get_dateInput();
55.
var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, dateInput.get_displayDateFormat());
56.
57.
return formattedDate;
58.
}
59.
</
script
>
60.
</
telerik:RadScriptBlock
>
61.
</
FilterTemplate
>
62.
</
telerik:GridDateTimeColumn
>
63.
</
Columns
>
64.
</
MasterTableView
>
65.
</
telerik:radgrid
>
66.
</
asp:Content
>
Is there something I'm missing?
Hi,
I have a radPivotGrid, when i am running it on my local pc and on web server it is working fine.
But on mobile and some other device it is showing grid on half page.