Hi,
I have a grid on my web page. which is populated with data in bound columns.
I have one Client Select Column in grid to select specific column.
Now, i want to save my grid data in database, when user select any row (by clicking checkbox in clientselectcolumn).
Anyone can provide sample example for this.
Thanks in Advance.
I have a grid on my web page. which is populated with data in bound columns.
I have one Client Select Column in grid to select specific column.
Now, i want to save my grid data in database, when user select any row (by clicking checkbox in clientselectcolumn).
Anyone can provide sample example for this.
Thanks in Advance.
3 Answers, 1 is accepted
0

Princy
Top achievements
Rank 2
answered on 04 Feb 2011, 06:05 AM
Hello Rohit,
Here is a sample code that I tried in my application for similar scenario. I have achieved this by invoking the ajaxRequest from 'OnRowSelected' client event and saving the row index in AjaxManager_AjaxRequest server event. Then get the corresponding DataItem and access the cell value and store in to DB.
ASPX:
Java Script:
C#:
Thanks,
Princy.
Here is a sample code that I tried in my application for similar scenario. I have achieved this by invoking the ajaxRequest from 'OnRowSelected' client event and saving the row index in AjaxManager_AjaxRequest server event. Then get the corresponding DataItem and access the cell value and store in to DB.
ASPX:
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
OnAjaxRequest
=
"RadAjaxManager1_AjaxRequest1"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadAjaxManager1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
DataSourceID
=
"SqlDataSource1"
>
<
MasterTableView
DataKeyNames
=
"EmployeeID"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"EmployeeID"
HeaderText
=
"EmployeeID"
UniqueName
=
"EmployeeID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridClientSelectColumn
>
</
telerik:GridClientSelectColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
Selecting-AllowRowSelect
=
"true"
>
<
ClientEvents
OnRowSelected
=
"RowSelected"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
Java Script:
<script type=
"text/javascript"
>
function
RowSelected(sender, args) {
var
rowindex = args._itemIndexHierarchical;
var
ajaxManager = $find(
"<%= RadAjaxManager1.ClientID %>"
);
ajaxManager.ajaxRequest(rowindex);
// ajaxRequest
}
</script>
C#:
protected
void
RadAjaxManager1_AjaxRequest1(
object
sender, AjaxRequestEventArgs e)
{
string
rowIndex =e.Argument;
//getting row index
GridDataItem item = (GridDataItem)RadGrid1.Items[rowIndex];
//accessing grid item
//access cell value of item and store into db
}
Thanks,
Princy.
0

rohit
Top achievements
Rank 1
answered on 04 Feb 2011, 04:21 PM
Hi,
Here's my code which i am using to update grid data in database using ClientSelectColumn.
Error i am getting is :
object-reference-not-set-to-an-instance-of-an-object
VB.NET Code:
Private Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
SetApproved()
End Sub
Public Sub SetApproved()
For Each item As GridDataItem In GD_APay.Items
Dim str0 As String = item("School_number").Text
Dim str1 As String = item("JOBR_VENDOR_NOUN").Text
Dim str2 As String = item("Invoice_Date").Text
Dim str3 As String = item("Invoice_Number").Text
Dim str4 As String = item("OrderAmount").Text
Dim str5 As String = item("Invoice_Amt").Text
Dim str6 As String = item("ExceptionsFlag").Text
Dim chk As CheckBox = DirectCast(item.FindControl("chkbx"), CheckBox)
Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("FConnectionString").ConnectionString)
Dim cmd As New SqlCommand("P_FN_AP_SetInvoiceApprove", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@School_number", System.Data.SqlDbType.VarChar)
cmd.Parameters("@School_number").Value = str0
cmd.Parameters.Add("@JOBR_VENDOR_NOUN", System.Data.SqlDbType.VarChar)
cmd.Parameters("@JOBR_VENDOR_NOUN").Value = str1
cmd.Parameters.Add("@Invoice_Date", System.Data.SqlDbType.DateTime)
cmd.Parameters("@Invoice_Date").Value = str2
cmd.Parameters.Add("@Invoice_Number", System.Data.SqlDbType.VarChar)
cmd.Parameters("@Invoice_Number").Value = str3
cmd.Parameters.Add("@OrderAmount", System.Data.SqlDbType.Decimal)
cmd.Parameters("@OrderAmount").Value = str4
cmd.Parameters.Add("@Invoice_Amt", System.Data.SqlDbType.Decimal)
cmd.Parameters("@Invoice_Amt").Value = str5
cmd.Parameters.Add("@ExceptionsFlag", System.Data.SqlDbType.VarChar)
cmd.Parameters("@ExceptionsFlag").Value = str6
con.Open()
If chk.Checked = True Then ///// get error here
cmd.ExecuteNonQuery()
con.Close()
End If
Next
End Sub
ASPX Code:
<telerik:RadGrid ID="GD_APay" runat="server" GridLines="None"
Height="217px" Skin="Outlook" Width="100%" AllowMultiRowSelection="True"
AutoGenerateColumns="False" AllowAutomaticUpdates="True" CellPadding="0">
<ClientSettings AllowColumnsReorder="True">
<Selecting AllowRowSelect="True" UseClientSelectColumnOnly="True" />
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
</ClientSettings>
<MasterTableView CellPadding="0" CellSpacing="0" GridLines="None"
Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False"
AllowAutomaticUpdates="False">
<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
<Columns>
<telerik:GridBoundColumn HeaderText="School" UniqueName="School_number" DataField="School_number"
SortExpression="School_number">
<HeaderStyle Width="18%" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Vendor" UniqueName="JOBR_VENDOR_NOUN" DataField="JOBR_VENDOR_NOUN"
SortExpression="JOBR_VENDOR_NOUN">
<HeaderStyle Width="18%" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Receive Date" UniqueName="Invoice_Date" DataField="Invoice_Date"
SortExpression="Invoice_Date">
<HeaderStyle Width="18%" />
</telerik:GridBoundColumn>
<telerik:GridHyperLinkColumn HeaderText="Invoice #" UniqueName="Invoice_Number" DataTextField="Invoice_Number"
SortExpression="Invoice_Number">
<HeaderStyle Width="9%" />
</telerik:GridHyperLinkColumn>
<telerik:GridBoundColumn HeaderText="Order Amount" UniqueName="OrderAmount" DataField="OrderAmount"
SortExpression="OrderAmount">
<HeaderStyle Width="9%" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Invoice Amount" UniqueName="Invoice_Amt" DataField="Invoice_Amt"
SortExpression="Invoice_Amt">
<HeaderStyle Width="9%" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Exception" UniqueName="ExceptionsFlag" DataField="ExceptionsFlag"
SortExpression="ExceptionsFlag">
<HeaderStyle Width="10%" />
</telerik:GridBoundColumn>
<telerik:GridClientSelectColumn UniqueName="column" HeaderText="Select">
<HeaderStyle Width="9%" />
</telerik:GridClientSelectColumn>
</Columns>
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
Wrap="True" />
<GroupHeaderItemStyle Font-Bold="False" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
HorizontalAlign="Center" Wrap="True" />
<AlternatingItemStyle Font-Bold="False" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
HorizontalAlign="Center" Wrap="True" />
<EditItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
Wrap="True" />
<PagerStyle AlwaysVisible="True" Mode="NumericPages" Font-Bold="False"
Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" PageButtonCount="5"
Wrap="True" />
<HeaderStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" ForeColor="White" Wrap="True"
HorizontalAlign="Center" />
</MasterTableView>
<PagerStyle AlwaysVisible="True" Mode="NumericPages" PageButtonCount="5" />
</telerik:RadGrid>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" />
Stored_Proc:
ALTER PROCEDURE [dbo].[P_FN_AP_SetInvoiceApprove]
(
@School_number varchar(4),
@JOBR_VENDOR_NOUN varchar(15),
@Invoice_Date datetime,
@Invoice_Number varchar(16),
@OrderAmount decimal(18,2),
@Invoice_Amt decimal(18,2),
@ExceptionsFlag varchar(1)
)
AS
BEGIN
UPDATE FNReceiveHeader
SET IsApproval='Y', ApprovedDate = getdate()
WHERE School_number=@School_number AND
JOBR_VENDOR_NOUN=@JOBR_VENDOR_NOUN AND
Invoice_Date=@Invoice_Date AND
Invoice_Number=@Invoice_Number AND
OrderAmount=@OrderAmount AND
Invoice_Amt=@Invoice_Amt AND
ExceptionsFlag=@ExceptionsFlag
END
/* SET NOCOUNT ON */
RETURN
Here's my code which i am using to update grid data in database using ClientSelectColumn.
Error i am getting is :
object-reference-not-set-to-an-instance-of-an-object
VB.NET Code:
Private Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
SetApproved()
End Sub
Public Sub SetApproved()
For Each item As GridDataItem In GD_APay.Items
Dim str0 As String = item("School_number").Text
Dim str1 As String = item("JOBR_VENDOR_NOUN").Text
Dim str2 As String = item("Invoice_Date").Text
Dim str3 As String = item("Invoice_Number").Text
Dim str4 As String = item("OrderAmount").Text
Dim str5 As String = item("Invoice_Amt").Text
Dim str6 As String = item("ExceptionsFlag").Text
Dim chk As CheckBox = DirectCast(item.FindControl("chkbx"), CheckBox)
Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("FConnectionString").ConnectionString)
Dim cmd As New SqlCommand("P_FN_AP_SetInvoiceApprove", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@School_number", System.Data.SqlDbType.VarChar)
cmd.Parameters("@School_number").Value = str0
cmd.Parameters.Add("@JOBR_VENDOR_NOUN", System.Data.SqlDbType.VarChar)
cmd.Parameters("@JOBR_VENDOR_NOUN").Value = str1
cmd.Parameters.Add("@Invoice_Date", System.Data.SqlDbType.DateTime)
cmd.Parameters("@Invoice_Date").Value = str2
cmd.Parameters.Add("@Invoice_Number", System.Data.SqlDbType.VarChar)
cmd.Parameters("@Invoice_Number").Value = str3
cmd.Parameters.Add("@OrderAmount", System.Data.SqlDbType.Decimal)
cmd.Parameters("@OrderAmount").Value = str4
cmd.Parameters.Add("@Invoice_Amt", System.Data.SqlDbType.Decimal)
cmd.Parameters("@Invoice_Amt").Value = str5
cmd.Parameters.Add("@ExceptionsFlag", System.Data.SqlDbType.VarChar)
cmd.Parameters("@ExceptionsFlag").Value = str6
con.Open()
If chk.Checked = True Then ///// get error here
cmd.ExecuteNonQuery()
con.Close()
End If
Next
End Sub
ASPX Code:
<telerik:RadGrid ID="GD_APay" runat="server" GridLines="None"
Height="217px" Skin="Outlook" Width="100%" AllowMultiRowSelection="True"
AutoGenerateColumns="False" AllowAutomaticUpdates="True" CellPadding="0">
<ClientSettings AllowColumnsReorder="True">
<Selecting AllowRowSelect="True" UseClientSelectColumnOnly="True" />
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
</ClientSettings>
<MasterTableView CellPadding="0" CellSpacing="0" GridLines="None"
Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False"
AllowAutomaticUpdates="False">
<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
<Columns>
<telerik:GridBoundColumn HeaderText="School" UniqueName="School_number" DataField="School_number"
SortExpression="School_number">
<HeaderStyle Width="18%" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Vendor" UniqueName="JOBR_VENDOR_NOUN" DataField="JOBR_VENDOR_NOUN"
SortExpression="JOBR_VENDOR_NOUN">
<HeaderStyle Width="18%" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Receive Date" UniqueName="Invoice_Date" DataField="Invoice_Date"
SortExpression="Invoice_Date">
<HeaderStyle Width="18%" />
</telerik:GridBoundColumn>
<telerik:GridHyperLinkColumn HeaderText="Invoice #" UniqueName="Invoice_Number" DataTextField="Invoice_Number"
SortExpression="Invoice_Number">
<HeaderStyle Width="9%" />
</telerik:GridHyperLinkColumn>
<telerik:GridBoundColumn HeaderText="Order Amount" UniqueName="OrderAmount" DataField="OrderAmount"
SortExpression="OrderAmount">
<HeaderStyle Width="9%" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Invoice Amount" UniqueName="Invoice_Amt" DataField="Invoice_Amt"
SortExpression="Invoice_Amt">
<HeaderStyle Width="9%" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Exception" UniqueName="ExceptionsFlag" DataField="ExceptionsFlag"
SortExpression="ExceptionsFlag">
<HeaderStyle Width="10%" />
</telerik:GridBoundColumn>
<telerik:GridClientSelectColumn UniqueName="column" HeaderText="Select">
<HeaderStyle Width="9%" />
</telerik:GridClientSelectColumn>
</Columns>
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
Wrap="True" />
<GroupHeaderItemStyle Font-Bold="False" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
HorizontalAlign="Center" Wrap="True" />
<AlternatingItemStyle Font-Bold="False" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
HorizontalAlign="Center" Wrap="True" />
<EditItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
Wrap="True" />
<PagerStyle AlwaysVisible="True" Mode="NumericPages" Font-Bold="False"
Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" PageButtonCount="5"
Wrap="True" />
<HeaderStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" ForeColor="White" Wrap="True"
HorizontalAlign="Center" />
</MasterTableView>
<PagerStyle AlwaysVisible="True" Mode="NumericPages" PageButtonCount="5" />
</telerik:RadGrid>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" />
Stored_Proc:
ALTER PROCEDURE [dbo].[P_FN_AP_SetInvoiceApprove]
(
@School_number varchar(4),
@JOBR_VENDOR_NOUN varchar(15),
@Invoice_Date datetime,
@Invoice_Number varchar(16),
@OrderAmount decimal(18,2),
@Invoice_Amt decimal(18,2),
@ExceptionsFlag varchar(1)
)
AS
BEGIN
UPDATE FNReceiveHeader
SET IsApproval='Y', ApprovedDate = getdate()
WHERE School_number=@School_number AND
JOBR_VENDOR_NOUN=@JOBR_VENDOR_NOUN AND
Invoice_Date=@Invoice_Date AND
Invoice_Number=@Invoice_Number AND
OrderAmount=@OrderAmount AND
Invoice_Amt=@Invoice_Amt AND
ExceptionsFlag=@ExceptionsFlag
END
/* SET NOCOUNT ON */
RETURN
0

Princy
Top achievements
Rank 2
answered on 07 Feb 2011, 10:20 AM
Hello Rohit,
Try the following approach to access the CheckBox in ClientSelectColumn.
VB.NET:
Thanks,
Princy.
Try the following approach to access the CheckBox in ClientSelectColumn.
VB.NET:
Public
Sub
SetApproved()
For
Each
item
As
GridDataItem
In
RadGrid1.Items
Dim
chk
As
CheckBox =
DirectCast
(item(
"column"
).Controls(0), CheckBox)
If
chk.Checked =
True
Then
. . . . . .
End
If
Next
End
Sub
Thanks,
Princy.