Mark Ferkaluk
Top achievements
Rank 1
Mark Ferkaluk
asked on 29 Aug 2011, 09:29 AM
Hi there,
I'm having trouble to get the insert values of my grid. My grid does on every postback a databind and it seems, that if that is done, the insert values are gone. If I don't databind on every postback, the grid doesn't show up (no columns, no rows).
My code to get the values is this:
test.Text should contain the value, but it doesn't. Do you have any idea?
Thanks and regards,
Mark
I'm having trouble to get the insert values of my grid. My grid does on every postback a databind and it seems, that if that is done, the insert values are gone. If I don't databind on every postback, the grid doesn't show up (no columns, no rows).
My code to get the values is this:
Dim insertedItem As GridEditFormInsertItem = TryCast(e.Item, GridEditFormInsertItem)Dim test As Object = TryCast(insertedItem.FormColumns(0).Controls(0).Controls(1).Controls(0), TextBox)test.Text should contain the value, but it doesn't. Do you have any idea?
Thanks and regards,
Mark
14 Answers, 1 is accepted
0
Accepted
Jayesh Goyani
Top achievements
Rank 2
answered on 29 Aug 2011, 09:42 AM
Hello,
please use radgrid advanced data binding.
or
......solution for your existing code.
page_load()
{
if (!Page.IsPostBack)
{
// bind your grid here
}
}
insert_command()
{
// do your logic here
// bind your grid here
}
NOTE : bind your grid when it needed not every time..
Thanks,
Jayesh Goyani
please use radgrid advanced data binding.
or
......solution for your existing code.
page_load()
{
if (!Page.IsPostBack)
{
// bind your grid here
}
}
insert_command()
{
// do your logic here
// bind your grid here
}
NOTE : bind your grid when it needed not every time..
Thanks,
Jayesh Goyani
0
Princy
Top achievements
Rank 2
answered on 29 Aug 2011, 09:58 AM
Hello Mark,
As Jayesh suggested you can try Advanced databinding to populate RadGrid. Also try the followimg code snippet to get the control in insert form while inserting.
ASPX:
VB.NET:
Thanks,
Princy.
As Jayesh suggested you can try Advanced databinding to populate RadGrid. Also try the followimg code snippet to get the control in insert form while inserting.
ASPX:
<telerik:GridBoundColumn UniqueName="EmployeeID" HeaderText="EmployeeID" DataField="EmployeeID"></telerik:GridBoundColumn>VB.NET:
Protected Sub RadGrid1_InsertCommand(sender As Object, e As GridCommandEventArgs) Dim item As GridEditFormInsertItem = DirectCast(e.Item, GridEditFormInsertItem) Dim txt As TextBox = DirectCast(item("EmployeeID").Controls(0), TextBox)End SubThanks,
Princy.
0
Mark Ferkaluk
Top achievements
Rank 1
answered on 29 Aug 2011, 12:33 PM
Hi Jayesh,
thanks for your reply. The NeedDataSource Event does the trick.
But now I'm having trouble to get the second insertet data control.
The Customer value works, but on the "Value" value an error appears: Object reference not set to an instance of an object.
The Value field is a numeric column. Is that why it doesn't work?
Thanks,
Mark
thanks for your reply. The NeedDataSource Event does the trick.
But now I'm having trouble to get the second insertet data control.
Dim customer As String = (TryCast(insertedItem("Customer").Controls(0), TextBox)).TextDim value As String = (TryCast(insertedItem("Value").Controls(0), TextBox)).TextDim units As String = (TryCast(insertedItem("Units").Controls(0), TextBox)).TextThe Customer value works, but on the "Value" value an error appears: Object reference not set to an instance of an object.
The Value field is a numeric column. Is that why it doesn't work?
Thanks,
Mark
0
Jayesh Goyani
Top achievements
Rank 2
answered on 30 Aug 2011, 09:59 AM
hello,
if your value field is numericColumn then...
let me know if any concern.
Thanks,
Jayesh Goyani
Dim value As String = (TryCast(insertedItem("Value").Controls(0), TextBox)).TextTryCast(insertedItem("Value").Controls(0), RadNumericTextBox))let me know if any concern.
Thanks,
Jayesh Goyani
0
Mark Ferkaluk
Top achievements
Rank 1
answered on 30 Aug 2011, 10:41 AM
Hi there,
unfortunately this doesn't work. Either with .Value and .Text. There is no data in it?
Regards,
Mark
unfortunately this doesn't work. Either with .Value and .Text. There is no data in it?
Regards,
Mark
0
Jayesh Goyani
Top achievements
Rank 2
answered on 30 Aug 2011, 10:45 AM
Hello,
Are you checked in edit mode or insert mode?
let me know what type of functionality you want.
Thanks,
Jayesh Goyani
Are you checked in edit mode or insert mode?
let me know what type of functionality you want.
Thanks,
Jayesh Goyani
0
Mark Ferkaluk
Top achievements
Rank 1
answered on 30 Aug 2011, 10:48 AM
Hi,
I'm currently in insert mode. I have three fields (customer, value and units). Customer is text and value and units are numeric. Getting the customer value works, but both other values not. When I'm debugging there is no data in those RadNumeriTextBoxes.
Regards,
Mark
I'm currently in insert mode. I have three fields (customer, value and units). Customer is text and value and units are numeric. Getting the customer value works, but both other values not. When I'm debugging there is no data in those RadNumeriTextBoxes.
Regards,
Mark
0
Princy
Top achievements
Rank 2
answered on 30 Aug 2011, 10:58 AM
Hello Mark,
If you are using GridNumericColumn, it is rendered as RadNumericTextBox in insert and edit mode. Here is the sample code that I tried which worked as expected.
VB:
Thanks,
Princy.
If you are using GridNumericColumn, it is rendered as RadNumericTextBox in insert and edit mode. Here is the sample code that I tried which worked as expected.
VB:
Protected Sub RadGrid1_InsertCommand(sender As Object, e As GridCommandEventArgs) Dim item As GridEditFormInsertItem = DirectCast(e.Item, GridEditFormInsertItem) Dim txt1 As RadNumericTextBox = DirectCast(item("Value").Controls(0), RadNumericTextBox) Dim val As String = txt1.TextEnd SubThanks,
Princy.
0
Mark Ferkaluk
Top achievements
Rank 1
answered on 30 Aug 2011, 01:37 PM
Hello Princy,
I tried it that way, but like I said. It seems, that there is no value in it. Here my code again:
Strange thing is, I can get the customer value.
Regards,
Mark
I tried it that way, but like I said. It seems, that there is no value in it. Here my code again:
Dim insertedItem As GridEditFormInsertItem = TryCast(e.Item, GridEditFormInsertItem)Dim customer As String = (TryCast(insertedItem("Customer").Controls(0), TextBox)).TextDim value As Double = (TryCast(insertedItem("Value").Controls(0), RadNumericTextBox)).ValueDim units As Integer = (TryCast(insertedItem("Units").Controls(0), RadNumericTextBox)).ValueStrange thing is, I can get the customer value.
Regards,
Mark
0
Jayesh Goyani
Top achievements
Rank 2
answered on 30 Aug 2011, 07:16 PM
Hello,
Are you able to get ALL columns(customer,value,Units)'s value or not ?
if no then please check below scenario and if you find this then remove(that binding Datasource code) from your code.
after click on "Insert" Button your grid was binding datasource again before coming in the insertcomand event.
Thanks,
Jayesh Goyani
Are you able to get ALL columns(customer,value,Units)'s value or not ?
if no then please check below scenario and if you find this then remove(that binding Datasource code) from your code.
after click on "Insert" Button your grid was binding datasource again before coming in the insertcomand event.
Thanks,
Jayesh Goyani
0
Mark Ferkaluk
Top achievements
Rank 1
answered on 31 Aug 2011, 08:28 AM
Hello Jayesh,
I'm only able to get the column Customer. When I try to get the values of the others, it is not possible, because there are no values (no .Text and no .Value). But I can access the RadNumericTextBox controls, there is just no value.
After I clicked insert, there is no databind. I use the Event NeedDataSource and it is not called after I click insert.
When I change the RadNumericTextBoxes into normal Bound Textboxes, everything works fine.
Regards.
I'm only able to get the column Customer. When I try to get the values of the others, it is not possible, because there are no values (no .Text and no .Value). But I can access the RadNumericTextBox controls, there is just no value.
After I clicked insert, there is no databind. I use the Event NeedDataSource and it is not called after I click insert.
When I change the RadNumericTextBoxes into normal Bound Textboxes, everything works fine.
Regards.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 31 Aug 2011, 09:40 AM
Hello,
Please send your RadGrid's code so i can check it from my side.
Thanks,
Jayesh Goyani
Please send your RadGrid's code so i can check it from my side.
Thanks,
Jayesh Goyani
0
Mark Ferkaluk
Top achievements
Rank 1
answered on 31 Aug 2011, 10:31 AM
Hi,
here is all my code.
ASCX Markup
InsertCommand Event
NeedDataSource Event
Regards,
Mark
here is all my code.
ASCX Markup
<telerik:RadGrid ID="RadGrid_customers" runat="server" AutoGenerateColumns="False" AutoGenerateDeleteColumn="True" AutoGenerateEditColumn="True" CellSpacing="0" GridLines="Horizontal" Skin="Telerik" Width="450px" Culture="de-DE"> <MasterTableView CommandItemDisplay="Top" CommandItemSettings-AddNewRecordText="Add new customer"> <commanditemsettings addnewrecordtext="Add new customer" exporttopdftext="Export to PDF" /> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> <HeaderStyle Width="20px" /> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="customer" FilterControlAltText="Filter Customer column" HeaderText="Customer" UniqueName="Customer"> </telerik:GridBoundColumn> <telerik:GridNumericColumn DataField="value" DataType="System.Decimal" DecimalDigits="2" FilterControlAltText="Filter Value column" HeaderText="Value 2010" UniqueName="Value"> <HeaderStyle HorizontalAlign="Right" /> <ItemStyle HorizontalAlign="Right" /> </telerik:GridNumericColumn> <telerik:GridNumericColumn DataField="units" DataType="System.Int64" DecimalDigits="0" FilterControlAltText="Filter Units column" HeaderText="Units 2010" UniqueName="Units"> <HeaderStyle HorizontalAlign="Right" /> <ItemStyle HorizontalAlign="Right" /> </telerik:GridNumericColumn> <telerik:GridNumericColumn DataField="id" DataType="System.Int64" DecimalDigits="0" FilterControlAltText="Filter ID column" HeaderText="ID" ReadOnly="True" UniqueName="ID" Visible="False"> </telerik:GridNumericColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings> </MasterTableView> <FilterMenu EnableImageSprites="False"> </FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"> </HeaderContextMenu> </telerik:RadGrid>InsertCommand Event
Protected Sub RadGrid_customers_InsertCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid_customers.InsertCommand Dim topicnav As RadPanelItem = DirectCast(topic_navigation_cc.SelectedItem, RadPanelItem) Dim insertedItem As GridEditFormInsertItem = TryCast(e.Item, GridEditFormInsertItem) Dim customer As String = (TryCast(insertedItem("Customer").Controls(0), TextBox)).Text Dim value As String = (TryCast(insertedItem("Value").Controls(0), RadNumericTextBox)).Text Dim units As String = (TryCast(insertedItem("Units").Controls(0), RadNumericTextBox)).TextEnd SubNeedDataSource Event
Protected Sub RadGrid_customers_NeedDataSource(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid_customers.NeedDataSource Dim table_customers_work As DataTable Dim table_version As DataTable = getSQLData("SELECT years_cc FROM versions WHERE version = 'test'") table_customers_work = getSQLData("SELECT customer, value, units, id FROM customer_work WHERE topic_id = 1 AND assigned_version = 'test' AND country = 'test'") RadGrid_customers.DataSource = table_customers_work RadGrid_customers.MasterTableView.Columns(1).HeaderText = "Value " & table_version.Rows(0)(0).ToString RadGrid_customers.MasterTableView.Columns(2).HeaderText = "Units " & table_version.Rows(0)(0).ToString End SubRegards,
Mark
0
Jayesh Goyani
Top achievements
Rank 2
answered on 31 Aug 2011, 11:53 AM
Hello,
i am successfully get values of column in your code.
Please create one page and put my code in to page and check its working or not?
Thanks,
Jayesh Goyani
i am successfully get values of column in your code.
Please create one page and put my code in to page and check its working or not?
<telerik:RadGrid ID="RadGrid_customers" runat="server" AutoGenerateColumns="False" AutoGenerateDeleteColumn="True" AutoGenerateEditColumn="True" CellSpacing="0" GridLines="Horizontal" Skin="Telerik" Width="450px" Culture="de-DE"> <MasterTableView CommandItemDisplay="Top" CommandItemSettings-AddNewRecordText="Add new customer"> <commanditemsettings addnewrecordtext="Add new customer" exporttopdftext="Export to PDF" /> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> <HeaderStyle Width="20px" /> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="customer" FilterControlAltText="Filter Customer column" HeaderText="Customer" UniqueName="Customer"> </telerik:GridBoundColumn> <telerik:GridNumericColumn DataField="value" DataType="System.Decimal" DecimalDigits="2" FilterControlAltText="Filter Value column" HeaderText="Value 2010" UniqueName="Value"> <HeaderStyle HorizontalAlign="Right" /> <ItemStyle HorizontalAlign="Right" /> </telerik:GridNumericColumn> <telerik:GridNumericColumn DataField="units" DataType="System.Int64" DecimalDigits="0" FilterControlAltText="Filter Units column" HeaderText="Units 2010" UniqueName="Units"> <HeaderStyle HorizontalAlign="Right" /> <ItemStyle HorizontalAlign="Right" /> </telerik:GridNumericColumn> <telerik:GridNumericColumn DataField="id" DataType="System.Int64" DecimalDigits="0" FilterControlAltText="Filter ID column" HeaderText="ID" ReadOnly="True" UniqueName="ID" Visible="False"> </telerik:GridNumericColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings> </MasterTableView> <FilterMenu EnableImageSprites="False"> </FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"> </HeaderContextMenu> </telerik:RadGrid>Imports System.DataImports Telerik.Web.UIPartial Class Default5 Inherits System.Web.UI.Page Protected Sub RadGrid_customers_NeedDataSource(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid_customers.NeedDataSource RadGrid_customers.DataSource = New DataTable RadGrid_customers.MasterTableView.Columns(1).HeaderText = "Value " & "123" RadGrid_customers.MasterTableView.Columns(2).HeaderText = "Units " & "456" End Sub Protected Sub RadGrid_customers_InsertCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid_customers.InsertCommand Dim insertedItem As GridEditFormInsertItem = TryCast(e.Item, GridEditFormInsertItem) Dim customer As String = (TryCast(insertedItem("Customer").Controls(0), TextBox)).Text Dim value As String = (TryCast(insertedItem("Value").Controls(0), RadNumericTextBox)).Text Dim units As String = (TryCast(insertedItem("Units").Controls(0), RadNumericTextBox)).Text End SubEnd ClassThanks,
Jayesh Goyani