I am very new to asp.net and telerik so I apologize. I need help and I am not sure how to get this accomplished. Here is what I got. I have two radgrids one is being controlled by the other. the first grid will display a list of patients a therapist has on their case load. the second grid will display a list of visits each patient has. so the visits grid is be controlled by the selected value of the patient grid by PaitentID. Ok here is my problem when I add a visit for a patient I don't know how to automatically populate the patientID for the visit from the selected value on the patient grid. So I am not sure how to go about this so any help would be greatly appreciated. thanks
9 Answers, 1 is accepted

RadGrid2 : therapist grid
RadGrid3 : patient grid
<
telerik:RadGrid
ID
=
"RadGrid2"
runat
=
"server"
AutoGenerateColumns
=
"false"
OnNeedDataSource
=
"RadGrid2_NeedDataSource"
OnItemCommand
=
"RadGrid2_ItemCommand"
>
<
MasterTableView
DataKeyNames
=
"ID"
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"Name"
DataField
=
"Name"
UniqueName
=
"Name"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
<
telerik:RadGrid
ID
=
"RadGrid3"
runat
=
"server"
AutoGenerateColumns
=
"false"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"ID"
DataField
=
"ID"
UniqueName
=
"ID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Name"
DataField
=
"Name"
UniqueName
=
"Name"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
protected
void
RadGrid2_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
// Bind your therapist
dynamic data =
new
[] {
new
{ ID = 1, Name =
"Name1"
},
new
{ ID = 2, Name =
"Name2"
},
new
{ ID = 3, Name =
"Name3"
}
};
RadGrid2.DataSource = data;
}
protected
void
RadGrid2_ItemCommand(
object
sender, GridCommandEventArgs e)
{// bind patient
if
(e.CommandName ==
"RowClick"
)
{
GridDataItem item = e.Item
as
GridDataItem;
string
strID = item.GetDataKeyValue(
"ID"
).ToString();
string
strName = item[
"Name"
].Text;
dynamic data =
new
[] {
new
{ ID = strID, Name =
"Name_1"
},
new
{ ID = strID, Name =
"Name_2"
},
new
{ ID = strID, Name =
"Name_3"
},
new
{ ID = strID, Name =
"Name_4"
},
new
{ ID = strID, Name =
"Name_5"
}
};
RadGrid3.DataSource = data;
RadGrid3.DataBind();
}
}
Thanks,
Jayesh Goyani

I guess you are binding the second RadGrid depending upon a value of the selected row of the first Radgrid. I have created a sample code snippet according to your requirement.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"true"
PageSize
=
"5"
DataSourceID
=
"SqlDataSource1"
>
<
ClientSettings
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"CustomerID"
/>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
/>
</
telerik:RadGrid
>
<
telerik:RadGrid
ID
=
"RadGrid2"
runat
=
"server"
DataSourceID
=
"SqlDataSource2"
AutoGenerateEditColumn
=
"true"
oninsertcommand
=
"RadGrid2_InsertCommand"
>
<
MasterTableView
AutoGenerateColumns
=
"False"
DataKeyNames
=
"OrderID"
DataSourceID
=
"SqlDataSource2"
CommandItemDisplay
=
"Top"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"OrderID"
DataType
=
"System.Int32"
HeaderText
=
"OrderID"
ReadOnly
=
"True"
SortExpression
=
"OrderID"
UniqueName
=
"OrderID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShipCountry"
HeaderText
=
"ShipCountry"
SortExpression
=
"ShipCountry"
UniqueName
=
"ShipCountry"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString3 %>"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, PostalCode FROM Customers" runat="server"></
asp:SqlDataSource
>
<
asp:SqlDataSource
ID
=
"SqlDataSource2"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString3%>"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT [OrderID], [OrderDate], [CustomerID], [ShipCountry] FROM [Orders] WHERE ([CustomerID] = @CustomerID)"
runat="server">
<
SelectParameters
>
<
asp:ControlParameter
ControlID
=
"RadGrid1"
DefaultValue
=
"ALFKI"
Name
=
"CustomerID"
PropertyName
=
"SelectedValue"
Type
=
"String"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
C#:
protected
void
RadGrid2_InsertCommand(
object
sender, GridCommandEventArgs e)
{
foreach
(GridDataItem item
in
RadGrid1.MasterTableView.Items)
{
if
(item.Selected)
{
string
strKey = item.GetDataKeyValue(
"CustomerID"
).ToString();
// taking the DatakeyValue of the selected row(parent RadGrid)
}
}
GridEditableItem editItem = (GridEditableItem)e.Item;
//your code for insertion
}
Thanks,
Shinu.


Here is the code in VB.
VB:
Protected
Sub
RadGrid2_InsertCommand(sender
As
Object
, e
As
GridCommandEventArgs)
For
Each
item
As
GridDataItem
In
RadGrid1.MasterTableView.Items
If
item.Selected
Then
' taking the DatakeyValue of the selected row(parent RadGrid)
Dim
strKey
As
String
= item.GetDataKeyValue(
"CustomerID"
).ToString()
End
If
Next
Dim
editItem
As
GridEditableItem =
DirectCast
(e.Item, GridEditableItem)
'your code for insertion
End
Sub
Thanks,
Shinu.

thanks so much but I still can't get it to work sorry maybe I explained it wrong again I am not very good at this so I apologize.
I will post my code and a pic of what I am trying to do. What I really need is when I insert on grid2 I need it automatically insert the patient ID from grid1. and Ill I have to do is type in units and the date.SO maybe like a onclick event or something. so when I click "add new" it will automatically insert The PatientID from grid1 which is my patient table to PatientID column in grid2 which is my billing table. hope this make sence.
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="HomeHealthBilling.aspx.vb" Inherits="TherapistUserPage_HomeHealthBilling" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"HeadContent"
Runat
=
"Server"
>
<
style
type
=
"text/css"
>
.RadGrid_Default{font:12px/16px "segoe ui",arial,sans-serif}.RadGrid_Default{border:1px solid #828282;background:#fff;color:#333}.RadGrid_Default{font:12px/16px "segoe ui",arial,sans-serif}.RadGrid_Default{border:1px solid #828282;background:#fff;color:#333}.RadGrid_Default .rgMasterTable{font:12px/16px "segoe ui",arial,sans-serif}.RadGrid .rgMasterTable{border-collapse:separate;border-spacing:0}.RadGrid_Default .rgMasterTable{font:12px/16px "segoe ui",arial,sans-serif}.RadGrid .rgMasterTable{border-collapse:separate;border-spacing:0}.RadGrid_Default .rgHeader{color:#333}.RadGrid_Default .rgHeader{border:0;border-bottom:1px solid #828282;background:#eaeaea 0 -2300px repeat-x url('mvwres://Telerik.Web.UI, Version=2012.2.607.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4/Telerik.Web.UI.Skins.Default.Grid.sprite.gif')}.RadGrid .rgHeader{padding-top:5px;padding-bottom:4px;text-align:left;font-weight:normal}.RadGrid .rgHeader{padding-left:7px;padding-right:7px}.RadGrid .rgHeader{cursor:default}.RadGrid_Default .rgHeader{color:#333}.RadGrid_Default .rgHeader{border:0;border-bottom:1px solid #828282;background:#eaeaea 0 -2300px repeat-x url('mvwres://Telerik.Web.UI, Version=2012.2.607.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4/Telerik.Web.UI.Skins.Default.Grid.sprite.gif')}.RadGrid .rgHeader{padding-top:5px;padding-bottom:4px;text-align:left;font-weight:normal}.RadGrid .rgHeader{padding-left:7px;padding-right:7px}.RadGrid .rgHeader{cursor:default}
</
style
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"MainContent"
Runat
=
"Server"
>
<
telerik:RadStyleSheetManager
ID
=
"RadStyleSheetManager1"
runat
=
"server"
>
</
telerik:RadStyleSheetManager
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
>
</
asp:ScriptReference
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
>
</
asp:ScriptReference
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
>
</
asp:ScriptReference
>
</
Scripts
>
</
telerik:RadScriptManager
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>"
SelectCommand="SELECT [PatientID], [PatientLast], [PatientFirst] FROM [Patient]">
</
asp:SqlDataSource
>
<
asp:SqlDataSource
ID
=
"SqlDataSource2"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>"
SelectCommand="SELECT [ClaimID], [PatientID], [TherapistID], [PayrollID], [StartDate], [AbsentUnits], [Units], [Notes] FROM [Billing\] WHERE ([PatientID] = @PatientID)"
UpdateCommand="UPDATE [Billing\] SET [PatientID] = @PatientID, [TherapistID] = @TherapistID, [PayrollID] = @PayrollID, [StartDate] = @StartDate, [AbsentUnits] = @AbsentUnits, [Units] = @Units, [Notes] = @Notes WHERE [ClaimID] = @ClaimID"
DeleteCommand="DELETE FROM [Billing\] WHERE [ClaimID] = @ClaimID"
InsertCommand="INSERT INTO [Billing\] (PatientID) SELECT PatientID FROM Patient">
<
DeleteParameters
>
<
asp:Parameter
Name
=
"ClaimID"
Type
=
"Int32"
/>
</
DeleteParameters
>
<
SelectParameters
>
<
asp:ControlParameter
ControlID
=
"RadGrid1"
Name
=
"PatientID"
PropertyName
=
"SelectedValue"
Type
=
"Int32"
/>
</
SelectParameters
>
<
UpdateParameters
>
<
asp:Parameter
Name
=
"PatientID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"TherapistID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"PayrollID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"StartDate"
Type
=
"DateTime"
/>
<
asp:Parameter
Name
=
"AbsentUnits"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Units"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Notes"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"ClaimID"
Type
=
"Int32"
/>
</
UpdateParameters
>
</
asp:SqlDataSource
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"True"
PageSize
=
"20"
GridLines
=
"None"
Width
=
"20%"
CellSpacing
=
"0"
AllowCustomPaging
=
"True"
ShowFooter
=
"True"
ShowStatusBar
=
"True"
Skin
=
"Metro"
DataSourceID
=
"SqlDataSource1"
AutoGenerateDeleteColumn
=
"True"
AutoGenerateEditColumn
=
"True"
AllowAutomaticDeletes
=
"True"
AllowAutomaticInserts
=
"True"
AllowAutomaticUpdates
=
"True"
>
<
ClientSettings
AllowKeyboardNavigation
=
"true"
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"PatientID"
AutoGenerateColumns
=
"False"
GridLines
=
"Both"
ShowFooter
=
"False"
DataSourceID
=
"SqlDataSource1"
EditMode
=
"PopUp"
>
<
DetailTables
>
<
telerik:GridTableView
runat
=
"server"
DataKeyNames
=
"PatientID"
DataSourceID
=
"SqlDataSource2"
Name
=
"Visits"
>
<
ParentTableRelation
>
<
telerik:GridRelationFields
DetailKeyField
=
"PatientID"
MasterKeyField
=
"PatientID"
/>
</
ParentTableRelation
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
/>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
Visible
=
"True"
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
Visible
=
"True"
>
</
ExpandCollapseColumn
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
>
</
EditColumn
>
</
EditFormSettings
>
<
PagerStyle
AlwaysVisible
=
"True"
Mode
=
"Advanced"
Visible
=
"False"
/>
</
telerik:GridTableView
>
</
DetailTables
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
Visible
=
"True"
FilterControlAltText
=
"Filter RowIndicator column"
></
RowIndicatorColumn
>
<
ExpandCollapseColumn
Visible
=
"True"
FilterControlAltText
=
"Filter ExpandColumn column"
></
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"PatientID"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter PatientID column"
HeaderText
=
"PatientID"
ReadOnly
=
"True"
SortExpression
=
"PatientID"
UniqueName
=
"PatientID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PatientLast"
FilterControlAltText
=
"Filter PatientLast column"
HeaderText
=
"PatientLast"
SortExpression
=
"PatientLast"
UniqueName
=
"PatientLast"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PatientFirst"
FilterControlAltText
=
"Filter PatientFirst column"
HeaderText
=
"PatientFirst"
SortExpression
=
"PatientFirst"
UniqueName
=
"PatientFirst"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
<
PagerStyle
AlwaysVisible
=
"True"
/>
</
MasterTableView
>
<
PagerStyle
Mode
=
"Advanced"
ShowPagerText
=
"False"
/>
<
FilterMenu
EnableImageSprites
=
"False"
></
FilterMenu
>
</
telerik:RadGrid
>
<
asp:CustomValidator
ID
=
"CustomValidator1"
runat
=
"server"
ErrorMessage
=
"CustomValidator"
></
asp:CustomValidator
>
<
asp:FormView
ID
=
"FormView1"
runat
=
"server"
DataKeyNames
=
"ClaimID"
DataSourceID
=
"Units"
>
<
EditItemTemplate
>
ClaimID:
<
asp:Label
ID
=
"ClaimIDLabel1"
runat
=
"server"
Text='<%# Eval("ClaimID") %>' />
<
br
/>
PatientID:
<
asp:TextBox
ID
=
"PatientIDTextBox"
runat
=
"server"
Text='<%# Bind("PatientID") %>' />
<
br
/>
TherapistID:
<
asp:TextBox
ID
=
"TherapistIDTextBox"
runat
=
"server"
Text='<%# Bind("TherapistID") %>' />
<
br
/>
StartDate:
<
asp:TextBox
ID
=
"StartDateTextBox"
runat
=
"server"
Text='<%# Bind("StartDate") %>' />
<
br
/>
AbsentUnits:
<
asp:TextBox
ID
=
"AbsentUnitsTextBox"
runat
=
"server"
Text='<%# Bind("AbsentUnits") %>' />
<
br
/>
Units:
<
asp:TextBox
ID
=
"UnitsTextBox"
runat
=
"server"
Text='<%# Bind("Units") %>' />
<
br
/>
Notes:
<
asp:TextBox
ID
=
"NotesTextBox"
runat
=
"server"
Text='<%# Bind("Notes") %>' />
<
br
/>
<
asp:LinkButton
ID
=
"UpdateButton"
runat
=
"server"
CausesValidation
=
"True"
CommandName
=
"Update"
Text
=
"Update"
/>
<
asp:LinkButton
ID
=
"UpdateCancelButton"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
Text
=
"Cancel"
/>
</
EditItemTemplate
>
<
InsertItemTemplate
>
PatientID:
<
asp:TextBox
ID
=
"PatientIDTextBox"
runat
=
"server"
Text='<%# Bind("PatientID") %>' />
<
br
/>
TherapistID:
<
asp:TextBox
ID
=
"TherapistIDTextBox"
runat
=
"server"
Text='<%# Bind("TherapistID") %>' />
<
br
/>
StartDate:
<
asp:TextBox
ID
=
"StartDateTextBox"
runat
=
"server"
Text='<%# Bind("StartDate") %>' />
<
br
/>
AbsentUnits:
<
asp:TextBox
ID
=
"AbsentUnitsTextBox"
runat
=
"server"
Text='<%# Bind("AbsentUnits") %>' />
<
br
/>
Units:
<
asp:TextBox
ID
=
"UnitsTextBox"
runat
=
"server"
Text='<%# Bind("Units") %>' />
<
br
/>
Notes:
<
asp:TextBox
ID
=
"NotesTextBox"
runat
=
"server"
Text='<%# Bind("Notes") %>' />
<
br
/>
<
asp:LinkButton
ID
=
"InsertButton"
runat
=
"server"
CausesValidation
=
"True"
CommandName
=
"Insert"
Text
=
"Insert"
/>
<
asp:LinkButton
ID
=
"InsertCancelButton"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
Text
=
"Cancel"
/>
</
InsertItemTemplate
>
<
ItemTemplate
>
ClaimID:
<
asp:Label
ID
=
"ClaimIDLabel"
runat
=
"server"
Text='<%# Eval("ClaimID") %>' />
<
br
/>
PatientID:
<
asp:Label
ID
=
"PatientIDLabel"
runat
=
"server"
Text='<%# Bind("PatientID") %>' />
<
br
/>
TherapistID:
<
asp:Label
ID
=
"TherapistIDLabel"
runat
=
"server"
Text='<%# Bind("TherapistID") %>' />
<
br
/>
StartDate:
<
asp:Label
ID
=
"StartDateLabel"
runat
=
"server"
Text='<%# Bind("StartDate") %>' />
<
br
/>
AbsentUnits:
<
asp:Label
ID
=
"AbsentUnitsLabel"
runat
=
"server"
Text='<%# Bind("AbsentUnits") %>' />
<
br
/>
Units:
<
asp:Label
ID
=
"UnitsLabel"
runat
=
"server"
Text='<%# Bind("Units") %>' />
<
br
/>
Notes:
<
asp:Label
ID
=
"NotesLabel"
runat
=
"server"
Text='<%# Bind("Notes") %>' />
<
br
/>
<
asp:LinkButton
ID
=
"EditButton"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Edit"
Text
=
"Edit"
/>
<
asp:LinkButton
ID
=
"DeleteButton"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Delete"
Text
=
"Delete"
/>
<
asp:LinkButton
ID
=
"NewButton"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"New"
Text
=
"New"
/>
</
ItemTemplate
>
</
asp:FormView
>
<
asp:SqlDataSource
ID
=
"Units"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>"
DeleteCommand="DELETE FROM [Billing\] WHERE [ClaimID] = @ClaimID"
InsertCommand="INSERT INTO [Billing\] ([PatientID], [TherapistID], [StartDate], [AbsentUnits], [Units], [Notes]) VALUES (@PatientID, @TherapistID, @StartDate, @AbsentUnits, @Units, @Notes)"
SelectCommand="SELECT [ClaimID], [PatientID], [TherapistID], [StartDate], [AbsentUnits], [Units], [Notes] FROM [Billing\] WHERE ([PatientID] = @PatientID)"
UpdateCommand="UPDATE [Billing\] SET [PatientID] = @PatientID, [TherapistID] = @TherapistID, [StartDate] = @StartDate, [AbsentUnits] = @AbsentUnits, [Units] = @Units, [Notes] = @Notes WHERE [ClaimID] = @ClaimID">
<
DeleteParameters
>
<
asp:Parameter
Name
=
"ClaimID"
Type
=
"Int32"
/>
</
DeleteParameters
>
<
InsertParameters
>
<
asp:Parameter
Name
=
"PatientID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"TherapistID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"StartDate"
Type
=
"DateTime"
/>
<
asp:Parameter
Name
=
"AbsentUnits"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Units"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Notes"
Type
=
"String"
/>
</
InsertParameters
>
<
SelectParameters
>
<
asp:ControlParameter
ControlID
=
"RadGrid1"
Name
=
"PatientID"
PropertyName
=
"SelectedValue"
Type
=
"Int32"
/>
</
SelectParameters
>
<
UpdateParameters
>
<
asp:Parameter
Name
=
"PatientID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"TherapistID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"StartDate"
Type
=
"DateTime"
/>
<
asp:Parameter
Name
=
"AbsentUnits"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Units"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Notes"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"ClaimID"
Type
=
"Int32"
/>
</
UpdateParameters
>
</
asp:SqlDataSource
>
<
telerik:radgrid
ID
=
"RadGrid2"
ShowStatusBar
=
"True"
runat
=
"server"
AllowPaging
=
"True"
PageSize
=
"5"
DataSourceID
=
"SqlDataSource2"
GridLines
=
"None"
Width
=
"95%"
CellSpacing
=
"0"
AllowAutomaticDeletes
=
"True"
AllowAutomaticInserts
=
"True"
AllowAutomaticUpdates
=
"True"
AllowCustomPaging
=
"True"
AutoGenerateDeleteColumn
=
"True"
AutoGenerateEditColumn
=
"True"
ShowFooter
=
"True"
Skin
=
"Metro"
>
<
MasterTableView
Width
=
"100%"
AutoGenerateColumns
=
"False"
DataKeyNames
=
"ClaimID"
DataSourceID
=
"SqlDataSource2"
CommandItemDisplay
=
"Top"
ShowFooter
=
"False"
EditMode
=
"PopUp"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
AddNewRecordText
=
"Add new visit"
></
CommandItemSettings
>
<
RowIndicatorColumn
Visible
=
"True"
FilterControlAltText
=
"Filter RowIndicator column"
></
RowIndicatorColumn
>
<
ExpandCollapseColumn
Visible
=
"True"
FilterControlAltText
=
"Filter ExpandColumn column"
></
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ClaimID"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter ClaimID column"
HeaderText
=
"ClaimID"
ReadOnly
=
"True"
SortExpression
=
"ClaimID"
UniqueName
=
"ClaimID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PatientID"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter PatientID column"
HeaderText
=
"PatientID"
SortExpression
=
"PatientID"
UniqueName
=
"PatientID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"TherapistID"
FilterControlAltText
=
"Filter TherapistID column"
HeaderText
=
"TherapistID"
SortExpression
=
"TherapistID"
UniqueName
=
"TherapistID"
DataType
=
"System.Int32"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PayrollID"
FilterControlAltText
=
"Filter PayrollID column"
HeaderText
=
"PayrollID"
SortExpression
=
"PayrollID"
UniqueName
=
"PayrollID"
DataType
=
"System.Int32"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"StartDate"
FilterControlAltText
=
"Filter StartDate column"
HeaderText
=
"StartDate"
SortExpression
=
"StartDate"
UniqueName
=
"StartDate"
DataType
=
"System.DateTime"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"AbsentUnits"
FilterControlAltText
=
"Filter AbsentUnits column"
HeaderText
=
"AbsentUnits"
SortExpression
=
"AbsentUnits"
UniqueName
=
"AbsentUnits"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Units"
FilterControlAltText
=
"Filter Units column"
HeaderText
=
"Units"
SortExpression
=
"Units"
UniqueName
=
"Units"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Notes"
FilterControlAltText
=
"Filter Notes column"
HeaderText
=
"Notes"
SortExpression
=
"Notes"
UniqueName
=
"Notes"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
EditFormSettings
UserControlName
=
"Home Health Billing"
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
<
PagerStyle
AlwaysVisible
=
"True"
/>
</
MasterTableView
>
<
ClientSettings
AllowKeyboardNavigation
=
"true"
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
/>
<
Resizing
AllowResizeToFit
=
"True"
/>
</
ClientSettings
>
<
PagerStyle
Mode
=
"Advanced"
AlwaysVisible
=
"True"
/>
<
FilterMenu
EnableImageSprites
=
"False"
></
FilterMenu
>
</
telerik:RadGrid
>
<
br
/>
</
asp:Content
>
VB
Imports
System
Imports
System.Web.UI
Imports
Telerik.Web.UI
Imports
System.Data.SqlClient
Imports
System.Data
Partial
Class
TherapistUserPage_HomeHealthBilling
Inherits
System.Web.UI.Page
Protected
Sub
Page_PreRender(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.PreRender
If
RadGrid1.SelectedIndexes.Count = 0
Then
RadGrid1.SelectedIndexes.Add(0)
End
If
If
RadGrid2.SelectedIndexes.Count = 0
Then
RadGrid2.Rebind()
RadGrid2.SelectedIndexes.Add(0)
End
If
End
Sub
Protected
Sub
RadGrid2_NeedDataSource(sender
As
Object
, e
As
Telerik.Web.UI.GridNeedDataSourceEventArgs)
Handles
RadGrid2.NeedDataSource
End
Sub
End
Class
I already answered your support ticket but I will explain it here as well if somebody else has similar requirements.
I populated the TextBox with details form the FormView which you have in your project. In ItemDataBound event handler I check whether you are inserting new data, and if you are inserting I find the Label control with ID=PatientIDLabel and take its value. Here is the code:
Protected
Sub
RadGrid1_ItemDataBound(sender
As
Object
, e
As
GridItemEventArgs)
Handles
RadGrid2.ItemDataBound
If
RadGrid2.MasterTableView.EditMode = GridEditMode.PopUp
Then
If
TypeOf
e.Item
Is
GridEditFormInsertItem
AndAlso
e.Item.OwnerTableView.IsItemInserted
Then
Dim
insertItem
As
GridEditFormInsertItem =
DirectCast
(e.Item, GridEditFormInsertItem)
Dim
value
As
String
=
DirectCast
(FormView1.FindControl(
"PatientIDLabel"
), Label).Text
Dim
txt
As
TextBox =
DirectCast
(insertItem(
"PatientID"
).Controls(0), TextBox)
txt.Text = value
txt.Enabled =
False
End
If
End
If
End
Sub
Kind regards,
Kostadin
the Telerik team

Sorry Now that I take a deeper look I have a few problems. First Problem It does automatically populate the PatientID and it inserts it but it does not inset the rest of the values that I fill out such as units and notes and so on. All it does when I click insert is insert the patient ID. I need it to also insert the values I type in. Second problem is form view I actually forgot to delete that because I actually don't need it so is there a way to populate the patient ID without having form view on this project. One more question I will also need to auto populate the TherapistID by who is logged in by like a profile control not sure that's what it is called. So here is the how this web page will work. Therapist will log in and only see the Patients that are assigned to them. They will be able to click on grid 1 which is the patient list and grid 2 will populate all the visits that the therapist has for that selected patient. they will also be able to add new visits that's where all this comes into play. So when the therapist clicks add new visit this is where patient ID and TherapistID will automatically populate. They don't necessarily need to be visible on the grid I just had them like that because I wanted to see that the IDs where being populated. Hope this makes sense thanks so much for your help.
A possible approach is when a row is selected to save the PatientID in ViewState and when the InsertCommand is fired to populate the TextBox with the value from ViewState.
Protected
Sub
RadGrid1_ItemDataBound(sender
As
Object
, e
As
GridItemEventArgs)
Handles
RadGrid2.ItemDataBound
If
RadGrid2.MasterTableView.EditMode = GridEditMode.PopUp
Then
If
TypeOf
e.Item
Is
GridEditFormInsertItem
AndAlso
e.Item.OwnerTableView.IsItemInserted
Then
Dim
insertItem
As
GridEditFormInsertItem =
DirectCast
(e.Item, GridEditFormInsertItem)
Dim
txt
As
TextBox =
DirectCast
(insertItem(
"PatientID"
).Controls(0), TextBox)
Dim
value
As
String
If
ViewState(
"CurrentPatientID"
) IsNot
Nothing
Then
value =
DirectCast
(ViewState(
"CurrentPatientID"
),
String
)
End
If
txt.Text = value
txt.Enabled =
False
End
If
End
If
End
Sub
Dim
PatientID
As
String
Protected
Sub
RadGrid1_ItemCommand(sender
As
Object
, e
As
Telerik.Web.UI.GridCommandEventArgs)
Handles
RadGrid1.ItemCommand
If
e.CommandName =
"RowClick"
Then
Dim
index
As
Integer
= e.Item.ItemIndex
Dim
item
As
GridDataItem =
DirectCast
(RadGrid1.Items(index), GridDataItem)
PatientID = item(
"PatientID"
).Text
ViewState(
"CurrentPatientID"
) = PatientID
End
If
End
Sub
I also answered your support ticket. If you would like we can continue our conversation there.
Greetings,
Kostadin
the Telerik team
