remove the record using sqldatasource deletecommand from the gridpanel

  1. #1

    remove the record using sqldatasource deletecommand from the gridpanel

    whats wrong this code,i trying to remove a record from gridpanel using sqldatasource deletecommand,however it just remove the record from gridpanel not in the sql database.

    *returning message to me is "data saveed"
    **i simplified the code

              .....
              .....
    <ext:FormPanel ID="UserForm" runat="server" Title="person info" Frame="true"
        AutoScroll="true" BodyPadding="0">
        <FieldDefaults LabelWidth="50" />
                    .....
                    .....
            	<Buttons>
                    ......
                    .....
              
                    <ext:Button 
                        runat="server"
                        Text="clear form">
                        <Listeners>
                            <Click Handler="#{UserForm}.getForm().reset();" />
                        </Listeners>
                    </ext:Button>
                     <ext:Button ID="btnDelete" runat="server"  Text="delete" Icon="Delete">
                                <Listeners>
                                 <Click Handler="#{p-grid}.deleteSelected();#{p-grid}.sync();" />
                                </Listeners>
                            </ext:Button>
                </Buttons>                                
    
                </ext:ButtonGroup>
           
    	   <ext:GridPanel ID="p-grid" runat="server" Title="personel" Height="200" Flex="1">
                                        <HtmlBin>
                                
          <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AProjeConnectionString %>"
           SelectCommand="SELECT * FROM [view_PL]" 
           DeleteCommand="DELETE  FROM Per WHERE (Id = @Id)" > 
          
           <DeleteParameters>
                    <asp:Parameter Name="Id" Type="Int32" />
           </DeleteParameters>
                
                             </asp:SqlDataSource>
                                
                                </HtmlBin>
                                <Store>
                                    <ext:Store ID="Store1" runat="server" DataSourceID="SqlDataSource1"  AutoSync="true"
                                    OnReadData="Store1_RefershData"
                                    ShowWarningOnFailure="false"
                                    OnAfterDirectEvent="Store1_AfterDirectEvent"
                                    OnBeforeDirectEvent="Store1_BeforeDirectEvent" >
                                    <Model>
                                            <ext:Model ID="Model1" runat="server" IDProperty="Id" Name="PersonId">
                                                <Fields>
    
                                                    <ext:ModelField Name="Id" />
                                                    <ext:ModelField Name="Name" />
                                                    <ext:ModelField Name="Surname" />
                                                </Fields>
                                            </ext:Model>
                                        </Model>
                                         <Listeners>
                    <Exception Handler="Ext.Msg.alert('Operation failed', operation.getError());" />                
                    <Write Handler="Ext.Msg.alert('Write', 'The data successfully saved');" />
                </Listeners>
                                    </ext:Store>
                                </Store>
                                <ColumnModel ID="ColumnModel1" runat="server" Flex="1">
                                    <Columns>
                                        <ext:RowNumbererColumn ID="RowNumbererColumn1" runat="server" Width="35" />
                                        <ext:Column ID="Column6" runat="server" DataIndex="Name" Text="Name" Flex="1" />
                                        <ext:Column ID="Column7" runat="server" DataIndex="Surname" Text="Surname" Flex="1" />
                                    </Columns>
                                </ColumnModel>
                 
                  <SelectionModel>
                      <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" Mode="Single">
                        <Listeners>                        
                            <Select Handler="#{UserForm}.getForm().loadRecord(record);" />
                        </Listeners>
                    </ext:RowSelectionModel>
    
                </SelectionModel>
                                    </ext:GridPanel>
    Last edited by ada; Dec 10, 2012 at 9:38 AM.
  2. #2
    ok problem solved,it was my mistake.





    Quote Originally Posted by ada View Post
    whats wrong this code,i trying to remove a record from gridpanel using sqldatasource deletecommand,however it just remove the record from gridpanel not in the sql database.

    *returning message to me is "data saveed"
    **i simplified the code

              .....
              .....
    <ext:FormPanel ID="UserForm" runat="server" Title="person info" Frame="true"
        AutoScroll="true" BodyPadding="0">
        <FieldDefaults LabelWidth="50" />
                    .....
                    .....
            	<Buttons>
                    ......
                    .....
              
                    <ext:Button 
                        runat="server"
                        Text="clear form">
                        <Listeners>
                            <Click Handler="#{UserForm}.getForm().reset();" />
                        </Listeners>
                    </ext:Button>
                     <ext:Button ID="btnDelete" runat="server"  Text="delete" Icon="Delete">
                                <Listeners>
                                 <Click Handler="#{p-grid}.deleteSelected();#{p-grid}.sync();" />
                                </Listeners>
                            </ext:Button>
                </Buttons>                                
    
                </ext:ButtonGroup>
           
    	   <ext:GridPanel ID="p-grid" runat="server" Title="personel" Height="200" Flex="1">
                                        <HtmlBin>
                                
          <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AProjeConnectionString %>"
           SelectCommand="SELECT * FROM [view_PL]" 
           DeleteCommand="DELETE  FROM Per WHERE (Id = @Id)" > 
          
           <DeleteParameters>
                    <asp:Parameter Name="Id" Type="Int32" />
           </DeleteParameters>
                
                             </asp:SqlDataSource>
                                
                                </HtmlBin>
                                <Store>
                                    <ext:Store ID="Store1" runat="server" DataSourceID="SqlDataSource1"  AutoSync="true"
                                    OnReadData="Store1_RefershData"
                                    ShowWarningOnFailure="false"
                                    OnAfterDirectEvent="Store1_AfterDirectEvent"
                                    OnBeforeDirectEvent="Store1_BeforeDirectEvent" >
                                    <Model>
                                            <ext:Model ID="Model1" runat="server" IDProperty="Id" Name="PersonId">
                                                <Fields>
    
                                                    <ext:ModelField Name="Id" />
                                                    <ext:ModelField Name="Name" />
                                                    <ext:ModelField Name="Surname" />
                                                </Fields>
                                            </ext:Model>
                                        </Model>
                                         <Listeners>
                    <Exception Handler="Ext.Msg.alert('Operation failed', operation.getError());" />                
                    <Write Handler="Ext.Msg.alert('Write', 'The data successfully saved');" />
                </Listeners>
                                    </ext:Store>
                                </Store>
                                <ColumnModel ID="ColumnModel1" runat="server" Flex="1">
                                    <Columns>
                                        <ext:RowNumbererColumn ID="RowNumbererColumn1" runat="server" Width="35" />
                                        <ext:Column ID="Column6" runat="server" DataIndex="Name" Text="Name" Flex="1" />
                                        <ext:Column ID="Column7" runat="server" DataIndex="Surname" Text="Surname" Flex="1" />
                                    </Columns>
                                </ColumnModel>
                 
                  <SelectionModel>
                      <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" Mode="Single">
                        <Listeners>                        
                            <Select Handler="#{UserForm}.getForm().loadRecord(record);" />
                        </Listeners>
                    </ext:RowSelectionModel>
    
                </SelectionModel>
                                    </ext:GridPanel>
  3. #3

    how did you solve this problem? I'm having this kind of error as well

    how did you solve this problem? I'm having this kind of error as well
  4. #4

    remove the record from sqldatasource and gridpanel

    I was trying to remove a record from a gridpanel and sqldatasource deletecommand,however it just remove the record from gridpanel not in the sql database. When I clicked delete button, it deletes the selected record. but when I click refresh button the record gets back. what am I missing with my code. Please help me. Thanks in advance!


    HERE'S MY CODE:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" Debug="true" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <%@ Import Namespace="System.Xml" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    <%@ Import Namespace="System.Collections.Generic"%>


    <script runat="server">


    protected void Page_Load(object sender, EventArgs e)
    {
    ListOfActivityAndClients();
    ListOfSupervisor();
    Time();
    //this.Store1.Reload();


    }
    private void ListOfActivityAndClients()
    {
    SqlConnection adocn = new SqlConnection();
    adocn.ConnectionString = "server=(local);database=TimeSheet;user id=timesheetLogin; Password=timesheet";
    adocn.Open();
    SqlDataAdapter scom = new SqlDataAdapter("SELECT * FROM Project", adocn);
    DataSet dsClients = new DataSet();
    scom.Fill(dsClients);

    cboClients.Items.Clear();
    foreach (DataRow dr in dsClients.Tables[0].Rows)
    {
    cboClients.Items.Add(new Ext.Net.ListItem(dr["szProjectName"].ToString()));
    cboClients1.Items.Add(new Ext.Net.ListItem(dr["szProjectName"].ToString()));

    }

    scom = new SqlDataAdapter("SELECT * FROM Module M, Project P WHERE M.nmProjectID = P.nmProjectID AND szProjectName = 'Master'", adocn);
    DataSet dsActivities = new DataSet();
    scom.Fill(dsActivities);

    cboActivity.Items.Clear();
    foreach (DataRow dr in dsActivities.Tables[0].Rows)
    {
    cboActivity.Items.Add(new Ext.Net.ListItem(dr["szModuleName"].ToString()));
    cboActivity1.Items.Add(new Ext.Net.ListItem(dr["szModuleName"].ToString()));
    }
    }

    private void ListOfSupervisor()
    {
    SqlConnection adocn = new SqlConnection();
    adocn.ConnectionString = "server=(local);database=TimeSheet;user id=timesheetLogin; Password=timesheet";
    adocn.Open();
    SqlDataAdapter scom = new SqlDataAdapter("SELECT * FROM UserMaster where nmIsSupervisor='1'", adocn);
    DataSet dsSupervisor= new DataSet();
    scom.Fill(dsSupervisor);

    cboSupervisor.Items.Clear();
    foreach (DataRow dr in dsSupervisor.Tables[0].Rows)
    {
    cboSupervisor.Items.Add(new Ext.Net.ListItem(dr["szContactPerson"].ToString()));
    }
    }

    private void Time()
    {
    Ext.Net.ListItem[] ItemObject = new Ext.Net.ListItem[1380];
    for (int i = 0; i <= 12; i++)
    {
    for (int j = 0; j < 60; j++)
    {
    if (i < 12)
    {
    ItemObject[j] = new Ext.Net.ListItem() { Text = i.ToString("0") + ":" + j.ToString("00") + " " + "AM", Value = i.ToString("0") + ":" + j.ToString("00") + " " + "AM", };
    cboTimeIn.Items.Add(ItemObject[j]);
    cboTimeOut.Items.Add(ItemObject[j]);
    cboSTimeIn.Items.Add(ItemObject[j]);
    cboSTimeOut.Items.Add(ItemObject[j]);
    }
    else
    {
    ItemObject[j] = new Ext.Net.ListItem() { Text = i.ToString("0") + ":" + j.ToString("00") + " " + "PM", Value = i.ToString("0") + ":" + j.ToString("00") + " " + "PM", };
    cboTimeIn.Items.Add(ItemObject[j]);
    cboTimeOut.Items.Add(ItemObject[j]);
    cboSTimeIn.Items.Add(ItemObject[j]);
    cboSTimeOut.Items.Add(ItemObject[j]);
    }
    }
    }
    for (int k = 1; k <= 11; k++)
    {
    for (int l = 0; l < 60; l++)
    {
    ItemObject[l] = new Ext.Net.ListItem() { Text = k.ToString("0") + ":" + l.ToString("00") + " " + "PM", Value = k.ToString("0") + ":" + l.ToString("00") + " " + "PM", };
    cboTimeIn.Items.Add(ItemObject[l]);
    cboTimeOut.Items.Add(ItemObject[l]);
    cboSTimeIn.Items.Add(ItemObject[l]);
    cboSTimeOut.Items.Add(ItemObject[l]);
    }
    }
    }

    private bool cancel;
    private string message;
    private string insertedValue;

    protected void Store1_BeforeRecordInserted(object sender, BeforeRecordInsertedEventArgs e)
    {

    }
    protected void Store2_BeforeRecordInserted(object sender, BeforeRecordInsertedEventArgs e)
    {

    }
    protected void Store1_AfterRecordInserted(object sender, AfterRecordInsertedEventArgs e)
    {

    if (!string.IsNullOrEmpty(insertedValue))
    {
    e.Keys.Add("nmTimeSheetDetail", insertedValue);
    insertedValue = "";
    }
    }
    protected void Store2_AfterRecordInserted(object sender, AfterRecordInsertedEventArgs e)
    {
    if (!string.IsNullOrEmpty(insertedValue))
    {
    e.Keys.Add("nmTimeSheetSupervisorDetail", insertedValue);
    insertedValue = "";
    }
    }

    protected void Store1_BeforeRecordUpdated(object sender, BeforeRecordUpdatedEventArgs e)
    {
    int test=e.NewValues.Count;
    }
    protected void Store2_BeforeRecordUpdated(object sender, BeforeRecordUpdatedEventArgs e)
    {
    int test1 = e.NewValues.Count;
    }

    protected void Store1_SubmitData(object sender, StoreSubmitDataEventArgs e)
    {
    X.Msg.Alert("Submit", e.Parameters["ActionName"]).Show();
    }
    protected void Store2_SubmitData(object sender, StoreSubmitDataEventArgs e)
    {
    X.Msg.Alert("Submit", e.Parameters["ActionName"]).Show();
    }

    protected void SqlDataSource1_Inserted(object sender, SqlDataSourceStatusEventArgs e)
    {

    insertedValue = e.Command.Parameters["@newId"].Value != null
    ? e.Command.Parameters["@newId"].Value.ToString()
    : "";
    }

    protected void SqlDataSource2_Inserted(object sender, SqlDataSourceStatusEventArgs e)
    {
    insertedValue = e.Command.Parameters["@newId1"].Value != null
    ? e.Command.Parameters["@newId1"].Value.ToString()
    : "";
    }

    protected void SqlDataSource1_Updating(object sender, SqlDataSourceCommandEventArgs e)
    {

    }
    protected void SqlDataSource2_Updating(object sender, SqlDataSourceCommandEventArgs e)
    {

    }
    protected void SqlDataSource1_Inserting(object sender, SqlDataSourceCommandEventArgs e)
    {
    System.Data.Common.DbCommand Test = e.Command;
    }

    protected void SqlDataSource2_Inserting(object sender, SqlDataSourceCommandEventArgs e)
    {
    System.Data.Common.DbCommand Test = e.Command;
    }

    protected void Store1_AfterDirectEvent(object sender, AfterDirectEventArgs e)
    {
    if (e.Response.Success)
    {
    // set to .Success to false if we want to return a failure
    e.Response.Success = !cancel;
    e.Response.Message = message;
    }
    }
    protected void Store2_AfterDirectEvent(object sender, AfterDirectEventArgs e)
    {
    if (e.Response.Success)
    {
    // set to .Success to false if we want to return a failure
    e.Response.Success = !cancel;
    e.Response.Message = message;
    }
    }
    protected void Store1_BeforeDirectEvent(object sender, BeforeDirectEventArgs e)
    {
    string emulError = e.Parameters["EmulateError"];

    if (emulError == "1")
    {
    throw new Exception("Emulating error");
    }
    }
    protected void Store2_BeforeDirectEvent(object sender, BeforeDirectEventArgs e)
    {
    string emulError = e.Parameters["EmulateError"];

    if (emulError == "1")
    {
    throw new Exception("Emulating error");
    }
    }
    protected void Store1_RefershData(object sender, StoreReadDataEventArgs e)
    {
    this.Store1.DataBind();
    }

    protected void Store2_Refresh(object sender, StoreReadDataEventArgs e)
    {
    string id = e.Parameters["snmTimeSheetID"];
    this.SqlDataSource2.FilterParameters["snmTimeSheetID"].DefaultValue = id ?? "-1";
    this.Store2.DataBind();
    }

    protected void DisableGrid2Button(object sender, DirectEventArgs e)
    {
    btnSave1.Disabled = true;
    btnDelete1.Disabled = true;
    btnInsert1.Disabled = true;
    btnRefresh1.Disabled = true;
    btnEmulError1.Disabled = true;
    DropDownField1.Disabled = true;
    cboClients1.Disabled = true;
    cboActivity1.Disabled = true;
    }
    protected void EnableGrid2Button(object sender, DirectEventArgs e)
    {
    btnSave1.Disabled = false;
    btnDelete1.Disabled = false;
    btnInsert1.Disabled = false;
    btnRefresh1.Disabled = false;
    btnEmulError1.Disabled = false;
    DropDownField1.Disabled = false;
    cboClients1.Disabled = false;
    cboActivity1.Disabled = false;
    }

    protected void DisableGrid1Button(object sender, DirectEventArgs e)
    {
    BtnSave.Disabled = true;
    BtnDelete.Disabled = true;
    BtnInsert.Disabled = true;
    BtnRefresh.Disabled = true;
    btnEmulError.Disabled = true;
    DropDownField1.Disabled = true;
    cboClients1.Disabled = true;
    cboActivity1.Disabled = true;
    }
    protected void EnableGrid1Button(object sender, DirectEventArgs e)
    {
    BtnSave.Disabled = false;
    BtnDelete.Disabled = false;
    BtnInsert.Disabled = false;
    BtnRefresh.Disabled = false;
    btnEmulError.Disabled = false;
    DropDownField1.Disabled = false;
    cboClients1.Disabled = false;
    cboActivity1.Disabled = false;
    }
    </script>

    <!DOCTYPE html>

    <html>
    <head id="Head1" runat="server"> <%--id="Head1"--%>
    <title>Intercare Therapy Timesheet</title>
    <ext:XScript ID="XScript1" runat="server">
    <script type="text/javascript">

    var applyFilter = function (field) {
    var store = #{GridPanel1}.getStore();
    store.filterBy(getRecordFilter());
    };

    var clearFilter = function () {
    #{DateField1}.reset();
    #{DateField3}.reset();
    #{cboClients1}.reset();
    #{cboActivity1}.reset();

    #{Store1}.clearFilter();
    }

    var filterString = function (value, dataIndex, record) {
    var val = record.get(dataIndex);

    if (typeof val != "string") {
    return value.length == 0;
    }

    return val.toLowerCase().indexOf(value.toLowerCase()) > -1;
    };

    var filterDate = function (value, value2, dataIndex, record) {
    var val = Ext.Date.clearTime(record.get(dataIndex), true).getTime();

    if (!Ext.isEmpty(value, false) && val < Ext.Date.clearTime(value, true).getTime()) {
    return false;
    }
    if (!Ext.isEmpty(value2, false) && val > Ext.Date.clearTime(value2, true).getTime()) {
    return false;
    }
    return true;
    };

    var filterNumber = function (value, dataIndex, record) {
    var val = record.get(dataIndex);

    if (!Ext.isEmpty(value, false) && val != value) {
    return false;
    }

    return true;
    };

    var getRecordFilter = function () {
    var f = [];

    f.push({
    filter: function (record) {
    return filterDate(#{DateField1}.getValue()||"",#{DateFiel d3}.getValue()||"", "dtDate", record);
    }
    });

    f.push({
    filter: function (record) {
    return filterNumber(#{cboClients1}.getValue(), "Client", record);
    }
    });

    f.push({
    filter: function (record) {
    return filterNumber(#{cboActivity1}.getValue(), "Activity", record);
    }
    });


    var len = f.length;

    return function (record) {
    for (var i = 0; i < len; i++) {
    if (!f[i].filter(record)) {
    return false;
    }
    }
    return true;
    };
    };
    var onRender = function (field) {
    field.getPicker().el.on(
    "mousedown",
    function (e) {
    // generally, just e.stopEvent() should work instead of the all code below. I will investigate.
    var browserEvent = e.browserEvent;

    if (browserEvent) {
    Ext.EventManager.stopPropagation(browserEvent);
    }
    e.preventDefault();
    });
    };
    var deleteRows = function(grid) {
    Ext.Msg.confirm('Delete Rows', 'Are you sure?', function(btn) {
    if (btn == 'yes') {
    grid.deleteSelected();

    // grid.Ext.net.Sync();

    }


    })
    }
    </script>
    </ext:XScript>

    </head>
    <body>
    <%-- --FOR TIMSHEETDETAIL----%>
    <form id="Form1" runat="server">
    <ext:ResourceManager ID="ResourceManager1" runat="server" />
    <asp:SqlDataSource
    ID="SqlDataSource1"
    runat="server"
    connectionString="server=(local);database=TimeShee t;user id=timesheetLogin; Password=timesheet"
    ProviderName="System.Data.SqlClient"
    DeleteCommand="DELETE FROM [Timesheet].[dbo].[TimeSheetDetail1] WHERE (nmTimeSheetDetail = @TimeSheetDetail)"
    InsertCommand="INSERT INTO [TimeSheet].[dbo].[TimeSheet1]
    ([szAdminApproval]
    ,[dtCreateDate]
    ,[nmUserID])
    VALUES
    (
    '1',
    GETDATE(),
    '17'
    );
    INSERT INTO [Timesheet].[dbo].[TimeSheetDetail1]
    (
    [szDetail],
    [nmHourID],
    [nmTimeSheetID],
    [nmModule],
    [nmProjectID],
    [szTimeIn],
    [szTimeOut],
    [dtDate])
    VALUES
    (
    ' ',
    DATEDIFF(MINUTE,@TimeIn, @TimeOut),
    (Select max(nmTimeSheetID) from [TimeSheet].[dbo].[TimeSheet1]),
    (Select TDM.nmModule from TimeSheet.dbo.Module TDM inner join TimeSheet.dbo.Project TDP on TDM.nmProjectID=TDP.nmProjectID where TDM.szModuleName like @Activity and TDP.szProjectName like @Client),
    (Select nmProjectID from TimeSheet.dbo.Project where szProjectName like @Client),
    @TimeIn,
    @TimeOut,
    @dtDate);
    SELECT @newId = @@Identity;"

    SelectCommand="SELECT
    TSD.nmTimeSheetDetail As TimeSheetDetail
    ,TSD.nmTimeSheetID
    ,TSD.dtDate AS dtDate
    ,NMP.szProjectName AS Client
    ,NMM.szModuleName AS Activity
    ,TSD.szTimeIn AS TimeIn
    ,TSD.szTimeOut AS TimeOut
    ,TSD.nmHourID As nmMinutes
    FROM Timesheet.dbo.TimeSheetDetail1 TSD
    inner join Timesheet.dbo.Timesheet1 TS
    on TSD.nmTimeSheetID = TS.nmTimeSheetID
    and TS.nmUserID='17'
    inner join TimeSheet.dbo.Project NMP
    on NMP.nmProjectID= TSD.nmProjectID
    inner join TimeSheet.dbo.Module NMM
    on NMM.nmModule=TSD.nmModule
    and NMM.nmProjectID=NMP.nmProjectID"

    UpdateCommand="UPDATE [Timesheet].[dbo].[TimeSheetDetail1] SET
    [nmTimeSheetID] = @nmTimeSheetID,
    [nmHourID] = @nmMinutes,
    [nmModule] = (Select TDM.nmModule from TimeSheet.dbo.Module TDM inner join TimeSheet.dbo.Project TDP on TDM.nmProjectID=TDP.nmProjectID where TDM.szModuleName like @Activity and TDP.szProjectName like @Client),
    [nmProjectID] = (Select nmProjectID from TimeSheet.dbo.Project where szProjectName like @Client),
    [szTimeIn] = @TimeIn,
    [szTimeOut] = @TimeOut,
    [dtDate] = @dtDate
    WHERE ([nmTimeSheetDetail] = @TimeSheetDetail)"

    OnInserted="SqlDataSource1_Inserted" OnUpdating="SqlDataSource1_Updating" OnInserting="SqlDataSource1_Inserting" >

    <DeleteParameters>
    <asp:Parameter Name="TimeSheetDetail" Type="Int32" />
    </DeleteParameters>

    <UpdateParameters>
    <asp:Parameter Name="TimeSheetDetail" Type="Int32" />
    <asp:Parameter Name="nmTimeSheetID" Type="Int32" />
    <asp:Parameter Name="dtDate" Type="String"/>
    <asp:Parameter Name="Client" Type="String" />
    <asp:Parameter Name="Activity" Type="String" />
    <asp:Parameter Name="TimeIn" Type="String" Size="8" />
    <asp:Parameter Name="TimeOut" Type="String" Size="8" />
    <asp:Parameter Name="nmMinutes" Type="String" />
    </UpdateParameters>

    <InsertParameters>
    <asp:Parameter Name="dtDate" Type="String" />
    <asp:Parameter Name="Client" Type="String" />
    <asp:Parameter Name="Activity" Type="String" />
    <asp:Parameter Name="TimeIn" Type="String" Size="8" />
    <asp:Parameter Name="TimeOut" Type="String" Size="8" />
    <asp:Parameter Direction="Output" Name="newId" Type="Int32" />
    </InsertParameters>
    </asp:SqlDataSource>

    <%-- --FOR TIMSHEETDETAILSUPERVISOR----%>
    <asp:SqlDataSource
    ID="SqlDataSource2"
    runat="server"
    connectionString="server=(local);database=TimeShee t;user id=timesheetLogin; Password=timesheet"
    ProviderName="System.Data.SqlClient"
    DeleteCommand="DELETE FROM Timesheet.dbo.TimeSheetSupervisorDetail1 WHERE (nmTimeSheetID = @snmTimeSheetID)"
    InsertCommand="INSERT INTO [Timesheet].[dbo].[TimeSheetSupervisorDetail1]
    (
    [nmSupervisorID],
    [szTimeIn],
    [szTimeOut],
    [nmTimeSheetID])
    VALUES
    (
    (Select nmUserID from [TimeSheet].[dbo].[UserMaster] where szContactPerson like @Supervisor),
    @sTimeIn,
    @sTimeOut,
    @snmTimeSheetID
    );
    UPDATE [TimeSheet].[dbo].[TimeSheetDetail1]
    SET [szDetail]=@Detail
    WHERE ([nmTimeSheetID] = @snmTimeSheetID);
    SELECT @newId1 = @@Identity;"

    SelectCommand="Select TSD.szDetail AS Detail,
    UM.szContactPerson AS Supervisor,
    TSSD.szTimeIn As sTimeIn,
    TSSD.szTimeOut As sTimeOut,
    TSSD.nmTimeSheetID as snmTimeSheetID
    from Timesheet.dbo.TimeSheetDetail1 TSD
    inner join Timesheet.dbo.TimeSheetSupervisorDetail1 TSSD
    on TSD.nmTimeSheetID=TSSD.nmTimeSheetID
    inner join Timesheet.dbo.UserMaster UM
    on TSSD.nmSupervisorID=UM.nmUserID"
    FilterExpression="snmTimeSheetID='{0}'"


    UpdateCommand="UPDATE [Timesheet].[dbo].[TimeSheetSupervisorDetail1] SET
    [nmSupervisorID] = (Select nmUserID from [TimeSheet].[dbo].[UserMaster] where szContactPerson like @Supervisor),
    [szTimeIn] = @sTimeIn,
    [szTimeOut] = @sTimeOut,
    [nmTimeSheetID] = @snmTimeSheetID
    WHERE ([nmTimeSheetID] = @snmTimeSheetID);
    UPDATE [TimeSheet].[dbo].[TimeSheetDetail1]
    SET [szDetail]=@Detail
    WHERE ([nmTimeSheetID] = @snmTimeSheetID)"

    OnInserted="SqlDataSource2_Inserted" OnUpdating="SqlDataSource2_Updating" OnInserting="SqlDataSource2_Inserting" >

    <FilterParameters>
    <asp:ControlParameter Name="snmTimeSheetID" ControlId="TimeSheetIDValue" DefaultValue="0" />
    </FilterParameters>

    <DeleteParameters>
    <asp:Parameter Name="snmTimeSheetID" Type="Int32" />
    </DeleteParameters>

    <UpdateParameters>
    <asp:Parameter Name="snmTimeSheetID" Type="Int32" />
    <asp:Parameter Name="Detail" Type="String"/>
    <asp:Parameter Name="sTimeIn" Type="String" Size="8" />
    <asp:Parameter Name="sTimeOut" Type="String" Size="8" />
    </UpdateParameters>

    <InsertParameters>
    <asp:Parameter Name="Supervisor" Type="String" />
    <asp:Parameter Name="sTimeIn" Type="String" Size="8" />
    <asp:Parameter Name="sTimeOut" Type="String" Size="8" />
    <asp:ControlParameter Name="snmTimeSheetID" ControlId="TimeSheetIDValue" />
    <asp:Parameter Direction="Output" Name="newId1" Type="Int32" />
    </InsertParameters>

    </asp:SqlDataSource>



    <ext:Viewport ID="Viewport2" runat="server" Layout="BorderLayout">
    <Items>
    <ext:Panel ID="Panel1"
    runat="server"
    Region="Center"
    Frame="true"
    Title="TimeSheet Detail"
    Icon="Lorry"
    Layout="Fit"
    MarginsSummary="0 5 0 5">
    <Items>
    <ext:GridPanel
    ID="GridPanel1"
    runat="server"
    Width="600"
    Height="350">
    <Store>
    <ext:Store
    ID="Store1"
    runat="server"
    DataSourceID="SqlDataSource1"
    ShowWarningOnFailure="false"
    OnAfterDirectEvent="Store1_AfterDirectEvent"
    OnBeforeDirectEvent="Store1_BeforeDirectEvent"
    OnBeforeRecordInserted="Store1_BeforeRecordInserte d"
    OnAfterRecordInserted="Store1_AfterRecordInserted"
    OnBeforeRecordUpdated="Store1_BeforeRecordUpdated"
    OnReadData="Store1_RefershData"
    OnSubmitData="Store1_SubmitData">
    <Model>
    <ext:Model ID="Model1" runat="server" IDProperty="nmTimeSheetID" Name="TimeSheetDetails">
    <Fields>
    <ext:ModelField Name="TimeSheetDetail"/>
    <ext:ModelField Name="nmTimeSheetID"/>
    <ext:ModelField Name="dtDate" Type="Date" />
    <ext:ModelField Name="Client" Type="String" />
    <ext:ModelField Name="Activity" />
    <ext:ModelField Name="TimeIn" Type="String" />
    <ext:ModelField Name="TimeOut" Type="String" />
    <ext:ModelField Name="nmMinutes" />

    </Fields>
    </ext:Model>
    </Model>
    <Sorters>
    <ext:DataSorter Property="dtDate" Direction="DESC" />
    </Sorters>
    <Listeners>
    <Exception Handler="Ext.Msg.alert('Operation failed', operation.getError());" />
    <Write Handler="Ext.Msg.alert('Saving', 'The data successfully saved');" />
    <BeforeLoad Handler="if (#{Hidden1}.getValue() >= 0) {#{Hidden1}.setValue(-1); #{Store1}.reload();}" />

    </Listeners>
    </ext:Store>
    </Store>
    <ColumnModel ID="ColumnModel1" runat="server">
    <Columns>
    <ext:Column ID="ColDate" runat="server" DataIndex="dtDate" Text="Date" OverOnly="true" Width="200" >
    <HeaderItems>
    <%-- <ext:DateField ID="DateField1" AltFormats="MM/dd/yyyy" runat="server" Width="200" EmptyText="Filter by...">
    <Listeners>
    <Select Handler="applyFilter(this);" />
    </Listeners>
    </ext:DateField>--%>

    <ext:DropDownField ID="DropDownField1" runat="server" Editable="false" EmptyText="Filter by...">
    <Component>
    <ext:Panel ID="Panel3"
    runat="server"
    Layout="AnchorLayout"
    DefaultAnchor="100%">
    <Items>
    <ext:DateField ID="DateField1"
    runat="server"
    Editable="false"
    LabelWidth="30"
    FieldLabel="From">
    <Listeners>
    <Render Fn="onRender" />
    <Select Handler="applyFilter(this);" />
    </Listeners>
    </ext:DateField>
    <ext:DateField ID="DateField3"
    runat="server"
    Editable="false"
    LabelWidth="30"
    FieldLabel="To">
    <Listeners>
    <Render Fn="onRender" />
    <Select Handler="applyFilter(this);" />
    </Listeners>
    </ext:DateField>
    </Items>
    </ext:Panel>
    </Component>
    </ext:DropDownField>
    </HeaderItems>
    <Editor>
    <ext:DateField ID="DateField2" AltFormats="MM/dd/yyyy" runat="server" Width="200" />
    </Editor>
    <Renderer Format="Date" FormatArgs="'m/d/Y'" />
    </ext:Column>
    <ext:Column ID="ColClient" runat="server" DataIndex="Client" Text="Client" Width="200" OverOnly="true">
    <HeaderItems>
    <ext:ComboBox ID="cboClients1" runat="server" EmptyText="Filter by..." >
    <Listeners>
    <Select Handler="applyFilter(this);" />
    </Listeners>
    </ext:ComboBox>
    </HeaderItems>
    <Editor>
    <ext:ComboBox ID="cboClients" runat="server" EmptyText="Select a Client..." />
    </Editor>
    </ext:Column>
    <ext:Column ID="ColActivity" runat="server" DataIndex="Activity" Text="Activity" Width="200" OverOnly="true">
    <HeaderItems>
    <ext:ComboBox ID="cboActivity1" runat="server" EmptyText="Filter by...">
    <Listeners>
    <Select Handler="applyFilter(this);" />
    </Listeners>
    </ext:ComboBox>
    </HeaderItems>
    <Editor>
    <ext:ComboBox ID="cboActivity" runat="server" EmptyText="Select an Activity..."/>
    </Editor>
    </ext:Column>
    <ext:Column ID="ColTimeIn" runat="server" DataIndex="TimeIn" Text="Time-In" Width="200" OverOnly="true" >
    <Editor>
    <ext:ComboBox ID="cboTimeIn" runat="server" EmptyText="0:00 AM" />
    </Editor>

    </ext:Column>
    <ext:Column ID="ColTimeOut" runat="server" DataIndex="TimeOut" Text="Time-Out" Width="200" OverOnly="true">
    <Editor>
    <ext:ComboBox ID="cboTimeOut" runat="server" EmptyText="0:00 AM" />
    </Editor>

    </ext:Column>
    <ext:Column ID="ColMinutes" runat="server" DataIndex="nmMinutes" Text="Minutes" Width="200" OverOnly="true" >
    <Editor>
    <ext:TextField ID="txtMin" runat="server" Disabled="true"/>
    </Editor>
    </ext:Column>
    <ext:Column ID="Column5" runat="server" Flex="1" DataIndex="TimeSheetDetail" >
    <HeaderItems>
    <ext:Container ID="Container1" runat="server">
    <Items>
    <ext:Button ID="ClearFilterButton" runat="server" Icon="Cancel">
    <ToolTips>
    <ext:ToolTip ID="ToolTip1" runat="server" Html="Clear filter" />
    </ToolTips>

    <Listeners>
    <Click Handler="clearFilter(null);" />
    </Listeners>
    </ext:Button>
    </Items>
    </ext:Container>
    </HeaderItems>
    </ext:Column>
    </Columns>
    </ColumnModel>
    <SelectionModel>
    <ext:RowSelectionModel ID="RowSelectionModel2" runat="server" Mode="Single">
    <Listeners>

    <Select Handler="#{TimeSheetIDValue}.setValue(#{GridPanel1 }.getSelectionModel().hasSelection() ? #{GridPanel1}.getSelectionModel().getSelection()[0].data.nmTimeSheetID : -1);#{Store2}.reload();" Buffer="250" />

    </Listeners>
    </ext:RowSelectionModel>
    </SelectionModel>
    <BottomBar>
    <ext:PagingToolbar ID="PagingToolbar2"
    runat="server"
    StoreID="Store1"
    DisplayInfo="false"
    />
    </BottomBar>

    <Plugins>
    <ext:CellEditing ID="CellEditing2" runat="server" />
    </Plugins>
    </ext:GridPanel>
    <ext:Hidden ID="TimeSheetIDValue" runat="server" Text="0" />
    <ext:Hidden ID="Hidden1" runat="server" Text="0" />
    </Items>
    <%--<Listeners>
    <Expand Handler="#{Store1}.reload();" />
    </Listeners> --%>
    <Buttons>
    <ext:Button ID="BtnSave" runat="server" Text="Save" Icon="Disk">
    <Listeners>
    <Click Handler="#{Store1}.sync();" />

    </Listeners>

    </ext:Button>
    <ext:Button ID="BtnDelete" runat="server" Text="Delete selected records" Icon="Delete">
    <Listeners>
    <Click Handler="deleteRows(#{GridPanel1});" />
    <%-- <Click Handler="#{GridPanel1}.deleteSelected();" />--%>
    <%-- <Click Handler="if (command == 'Delete') { this.deleteRecord(record);}" />--%>
    </Listeners>
    </ext:Button>
    <ext:Button ID="BtnInsert" runat="server" Text="Insert" Icon="Add">
    <Listeners>
    <Click Handler="#{Store1}.insert(0, new TimeSheetDetails());#{GridPanel1}.editingPlugin.st artEditByPosition({row:0, column:0});" />
    </Listeners>
    <DirectEvents>
    <Click OnEvent="DisableGrid2Button"></Click>
    </DirectEvents>
    </ext:Button>
    <ext:Button ID="BtnRefresh" runat="server" Text="Refresh" Icon="ArrowRefresh">
    <Listeners>
    <Click Handler="#{Store1}.reload({params:{EmulateError: 0}});" />
    </Listeners>
    <DirectEvents>
    <Click OnEvent="EnableGrid2Button"></Click>
    </DirectEvents>
    </ext:Button>
    <ext:Button ID="btnEmulError" runat="server" Text="Refresh with Emulated error" Icon="Exclamation">
    <Listeners>
    <Click Handler="#{Store1}.reload({params:{EmulateError: 1}});" />
    </Listeners>
    </ext:Button>
    </Buttons>
    </ext:Panel>
    <ext:Panel
    ID="Panel2"
    runat="server"
    Region="South"
    Frame="true"
    Title="Supervisor Detail"
    Height="200"
    Icon="User"
    Layout="Fit"
    MarginsSummary="0 5 5 5">
    <Items>
    <ext:GridPanel
    ID="GridPanel2"
    runat="server">
    <Store>
    <ext:Store
    ID="Store2"
    runat="server"
    DataSourceID="SqlDataSource2"
    ShowWarningOnFailure="false"
    OnAfterDirectEvent="Store2_AfterDirectEvent"
    OnBeforeDirectEvent="Store2_BeforeDirectEvent"
    OnBeforeRecordInserted="Store2_BeforeRecordInserte d"
    OnAfterRecordInserted="Store2_AfterRecordInserted"
    OnBeforeRecordUpdated="Store2_BeforeRecordUpdated"
    OnReadData="Store2_Refresh"
    OnSubmitData="Store2_SubmitData"
    AutoLoad="false">
    <Model>
    <ext:Model ID="Model2" runat="server" IDProperty="nmTimeSheetSupervisorDetail" Name="SupervisorDetails">
    <Fields>
    <ext:ModelField Name="nmTimeSheetSupervisorDetail" />
    <ext:ModelField Name="Detail" Type="String" />
    <ext:ModelField Name="Supervisor" Type="String"/>
    <ext:ModelField Name="sTimeIn" Type="String"/>
    <ext:ModelField Name="sTimeOut" Type="String" />
    <ext:ModelField Name="snmTimeSheetID" />

    </Fields>
    </ext:Model>
    </Model>
    <Listeners>
    <Exception Handler="Ext.Msg.alert('Supervisor - Load failed', operation.getError());" />
    <Write Handler="Ext.Msg.alert('Write', 'The data successfully saved');" />
    </Listeners>
    </ext:Store>
    </Store>
    <ColumnModel ID="ColumnModel2" runat="server">
    <Columns>
    <ext:Column ID="Column1" runat="server" DataIndex="Detail" Text="Detail" Flex="1" >
    <Editor>
    <ext:TextField ID="TextField1" runat="server" />
    </Editor>
    </ext:Column>
    <ext:Column ID="Column2" runat="server" DataIndex="Supervisor" Text="Supervisor" Width="200" >
    <Editor>
    <ext:ComboBox ID="cboSupervisor" runat="server" EmptyText="Select a Supervisor..." />
    </Editor>
    </ext:Column>
    <ext:Column ID="Column3" runat="server" DataIndex="sTimeIn" Text="Time-In" Width="150" >
    <Editor>
    <ext:ComboBox ID="cboSTimeIn" runat="server" EmptyText="0:00 AM" />
    </Editor>
    </ext:Column>
    <ext:Column ID="Column4" runat="server" DataIndex="sTimeOut" Text="Time-Out" Width="150" >
    <Editor>
    <ext:ComboBox ID="cboSTimeOut" runat="server" EmptyText="0:00 AM" />
    </Editor>
    </ext:Column>

    </Columns>
    </ColumnModel>
    <BottomBar>
    <ext:PagingToolbar ID="PagingToolbar1"
    runat="server"
    StoreID="Store2"
    DisplayInfo="false"
    />
    </BottomBar>
    <SelectionModel>
    <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" Mode="Multi" />
    </SelectionModel>
    <Plugins>
    <ext:CellEditing ID="CellEditing1" runat="server" />
    </Plugins>
    </ext:GridPanel>
    </Items>
    <%-- <Listeners>
    <Expand Handler="#{Store2}.reload();" />
    </Listeners>
    --%>
    <Buttons>
    <ext:Button ID="btnSave1" runat="server" Text="Save" Icon="Disk">
    <Listeners>
    <Click Handler="#{Store2}.sync();" />

    </Listeners>
    <DirectEvents>
    <Click OnEvent="EnableGrid1Button"></Click>
    </DirectEvents>
    </ext:Button>
    <ext:Button ID="btnDelete1" runat="server" Text="Delete selected records" Icon="Delete">
    <Listeners>
    <Click Handler="deleteRows(#{GridPanel2});" />

    </Listeners>
    </ext:Button>
    <ext:Button ID="btnInsert1" runat="server" Text="Insert" Icon="Add">
    <Listeners>
    <Click Handler="#{Store2}.insert(0, new SupervisorDetails());#{GridPanel2}.editingPlugin.s tartEditByPosition({row:0, column:0});" />
    </Listeners>
    <DirectEvents>
    <Click OnEvent="DisableGrid1Button"></Click>
    </DirectEvents>
    </ext:Button>
    <ext:Button ID="btnRefresh1" runat="server" Text="Refresh" Icon="ArrowRefresh">
    <Listeners>
    <Click Handler="#{Store2}.reload({params:{EmulateError: 0}});" />
    </Listeners>
    <DirectEvents>
    <Click OnEvent="EnableGrid1Button"></Click>
    </DirectEvents>
    </ext:Button>
    <ext:Button ID="btnEmulError1" runat="server" Text="Refresh with Emulated error" Icon="Exclamation">
    <Listeners>
    <Click Handler="#{Store2}.reload({params:{EmulateError: 1}});" />
    </Listeners>
    </ext:Button>
    </Buttons>
    </ext:Panel>
    </Items>
    </ext:Viewport>

    </form>
    </body>
    </html>
  5. #5
    How did you solve this problem? I have a same problem and still can't remove the record

Similar Threads

  1. Remove Grid Record on Cancel
    By megha in forum 1.x Help
    Replies: 6
    Last Post: Jul 31, 2012, 12:24 PM
  2. how to delete or remove record?
    By richard in forum 2.x Help
    Replies: 0
    Last Post: Jun 08, 2012, 9:12 AM
  3. Delete or remove record from gridpanel
    By lapix in forum 1.x Help
    Replies: 3
    Last Post: Feb 25, 2012, 5:56 PM
  4. Replies: 4
    Last Post: Oct 07, 2011, 10:49 AM
  5. [CLOSED] DeleteCommand will not fire
    By Jurke in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: Dec 04, 2008, 9:35 AM

Tags for this Thread

Posting Permissions