Code:
<%@ Page Language="C#" MasterPageFile="~/Master/UserPages.master" AutoEventWireup="true"
CodeFile="lkup_pronotes2.aspx.cs" Inherits="Lookup_lkup_pronotes2" %>
<%@ Register Assembly="RadAjax.Net2" Namespace="Telerik.WebControls" TagPrefix="radA" %>
<%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" %>
<%@ Register Assembly="RadGrid.Net2" Namespace="Telerik.WebControls" TagPrefix="radG" %>
<asp:Content ID="Content1" ContentPlaceHolderID="cphWebData" runat="Server">
<div class='content'>
<radA:RadAjaxPanel ID="RadAjaxPanel1" LoadingPanelID="AjaxLoadingPanel1" runat="server"
Height="100%" Width="100%">
<radg:radgrid ID="RadGrid1" runat="server" OnDetailTableDataBind="RadGrid1_DetailTableDataBind"
AllowExpandCollapse="true" AllowMultiRowSelection="false">
<MasterTableView CommandItemDisplay="Bottom">
<%-- <EditFormSettings EditFormType="Template">
<FormTemplate>
<table style="width: 80%" align="center">
</table>
</FormTemplate>
</EditFormSettings> --%>
<Columns>
<radG:GridBoundColumn HeaderText="ID" UniqueName="cpk_pronotes" DataField="cpk_pronotes" Display="False" ReadOnly="True" />
<radG:GridBoundColumn HeaderText="Entered" UniqueName="date_" DataField="date_" HeaderButtonType="TextButton" />
<radG:GridBoundColumn HeaderText="Entered By" UniqueName="username" DataField="username" HeaderButtonType="TextButton" />
<radG:GridBoundColumn HeaderText="Subject" UniqueName="subject" DataField="subject" HeaderButtonType="TextButton" />
<radG:GridBoundColumn HeaderText="F/U Date" UniqueName="followup" DataField="followup" DataFormatString="{0:d}" HeaderButtonType="TextButton" />
<radG:GridBoundColumn HeaderText="F/U Assigned To..." UniqueName="funame" DataField="funame" HeaderButtonType="TextButton" />
<radG:GridBoundColumn HeaderText="F/U Complete" UniqueName="fudone" DataField="fudone" HeaderButtonType="TextButton" />
<%-- <radG:GridButtonColumn ButtonType="PushButton" Text="Edit" CommandName="Edit" UniqueName="edit" />
<radG:GridButtonColumn ButtonType="PushButton" Text="Delete" CommandName="Delete" UniqueName="delete" /> --%>
</Columns>
<DetailTables>
<radG:GridTableView DataKeyNames="cpk_pronotes">
<Columns>
<radG:GridBoundColumn HeaderText="ID" DataField="cpk_pronotes" Display="False" ReadOnly="True" />
<radG:GridBoundColumn HeaderText="Notes" UniqueName="notes" DataField="notes" HeaderButtonType="TextButton" />
</Columns>
</radG:GridTableView>
</DetailTables>
<CommandItemTemplate>
<asp:Button ID="btnInsert" CommandName="InitInsert"
runat="server" Text="Add Item" />
<asp:Button ID="btnRefresh" CommandName="RebindGrid"
runat="server" Text="Refresh List" />
</CommandItemTemplate>
</MasterTableView>
<HeaderStyle Font-Bold="True" Font-Size="14px" Font-Underline="False" HorizontalAlign="Left" />
<ItemStyle Font-Size="12px" />
<AlternatingItemStyle Font-Size="12px" />
</radg:radgrid>
</radA:RadAjaxPanel>
<radA:AjaxLoadingPanel ID="AjaxLoadingPanel1" runat="server" Height="75px" Width="75px">
<asp:Image ID="Image1" runat="server" AlternateText="Loading..." ImageUrl="~/RadControls/Ajax/Skins/Default/Loading3.gif" />
</radA:AjaxLoadingPanel>
</div>
<asp:SqlDataSource ID="dsParent" runat="server" DataSourceMode="DataReader" ConflictDetection="CompareAllValues"
OldValuesParameterFormatString="Original_{0}" OnUpdating="dsParent_RecordChanged"></asp:SqlDataSource>
<asp:SqlDataSource ID="dsDetails" runat="server" DataSourceMode="DataReader"></asp:SqlDataSource>
</asp:Content>
-----------------------------------------------
using System;
using System.Web.UI.WebControls;
using SQLDataAccess;
using Telerik.WebControls;
public partial class Lookup_lkup_pronotes2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
WP_Utility wpUtility = new WP_Utility();
wpUtility.GridDefaults(RadGrid1);
SqlBuilder sbCommand = new SqlBuilder();
dsParent.ConnectionString = sbCommand.GetConnectionString();
dsParent.SelectCommand = "wa_ProgressNotesList";
dsParent.SelectCommandType = SqlDataSourceCommandType.StoredProcedure;
if (!IsPostBack)
{
SessionParameter spMrn = new SessionParameter("MRN", TypeCode.String, "MRN");
dsParent.SelectParameters.Add(spMrn);
}
dsParent.DeleteCommand = "exec wa_ProgressNoteDelete @Original_CPK_PRONOTES";
dsParent.UpdateParameters.Add("CPK_PRONOTES", TypeCode.Int32, "0");
dsParent.UpdateParameters.Add("DATE_", TypeCode.String, "");
dsParent.UpdateParameters.Add("USERNAME", TypeCode.String, "");
dsParent.UpdateParameters.Add("SUBJECT", TypeCode.String, "");
dsParent.UpdateParameters.Add("FOLLOWUP", TypeCode.String, "");
dsParent.UpdateParameters.Add("FUNAME", TypeCode.String, "");
dsParent.UpdateParameters.Add("FUDONE", TypeCode.String, "");
//foreach (Parameter param in dsParent.UpdateParameters)
//{
// if (param.Name.Length < 4 || !param.Name.Substring(0, 4).Equals("CPK_"))
// sbCommand.UpdateFields.Add(param.Name.ToUpper());
//}
dsParent.UpdateCommand = "wa_ProgressNoteUpdate";
dsParent.UpdateCommandType = SqlDataSourceCommandType.StoredProcedure;
dsParent.InsertParameters.Add("DATE_", TypeCode.String, "");
dsParent.InsertParameters.Add("USERNAME", TypeCode.String, "");
dsParent.InsertParameters.Add("SUBJECT", TypeCode.String, "");
dsParent.InsertParameters.Add("FOLLOWUP", TypeCode.String, "");
dsParent.InsertParameters.Add("FUNAME", TypeCode.String, "");
dsParent.InsertParameters.Add("FUDONE", TypeCode.String, "");
dsParent.InsertCommand = "wa_ProgressNoteInsert";
dsParent.InsertCommandType = SqlDataSourceCommandType.StoredProcedure;
RadGrid1.DataSourceID = "dsParent";
RadGrid1.MasterTableView.DataKeyNames = new string[] { "cpk_pronotes" };
}
protected void RadGrid1_DetailTableDataBind(object source, Telerik.WebControls.GridDetailTableDataBindEventArgs e)
{
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
//string strKey = dataItem["pk"].Text;
string strKey = dataItem.GetDataKeyValue("cpk_pronotes").ToString();
SqlBuilder sbCommand = new SqlBuilder();
dsDetails.ConnectionString = sbCommand.GetConnectionString();
dsDetails.SelectCommand = "wa_PatientPronotesDetails";
dsDetails.SelectCommandType = SqlDataSourceCommandType.StoredProcedure;
if (dsDetails.SelectParameters.Count < 1)
{
dsDetails.SelectParameters.Add("CPK_PRONOTES", TypeCode.Int32, strKey);
}
else
{
Parameter pFKey = new Parameter("CPK_PRONOTES", TypeCode.Int32, strKey);
dsDetails.SelectParameters["CPK_PRONOTES"] = pFKey;
}
e.DetailTableView.DataSourceID = "dsDetails";
e.DetailTableView.Width = Unit.Percentage(90);
}
protected void dsParent_RecordChanged(object sender, SqlDataSourceCommandEventArgs e)
{
string eventname = e.Command.CommandText.Substring(0, 6).ToUpper();
string reason = "";
string username = Session["LastName"].ToString() + "," + Session["FirstName"].ToString();
switch (eventname)
{
case "UPDATE":
//reason = "Patient Contact Information updated.";
try
{
int pk = Convert.ToInt32(e.Command.Parameters["@Original_CPK_PRONOTES"].Value);
DataAccess Data = new DataAccess("PRONOTES", "CPK_PRONOTES", pk);
Data.LogTransaction(e.Command.Parameters, "original_", Convert.ToInt32(Session["cpruser_no"]), reason, username);
}
catch (Exception oError)
{
reason = oError.ToString();
reason = reason.Trim();
}
break;
default:
break;
}
}
}
Thanks for the help. Dan
