Monday, December 18, 2023

Telerik Grid ASP.NET itemdatabound datafiled with linkbutton

aspx page

<telerik:RadGrid ID="radGrdDraftPreliminaryEnquiry" runat="server" AllowPaging="True" AllowCustomPaging="True" AllowSorting="True" CellSpacing="0" CssClass="uk-table uk-table-hover" HeaderStyle-ForeColor="#FFFFFF" HeaderStyle-BackColor="#8E8B8B" OnPageIndexChanged="radGrdDraftPreliminaryEnquiry_PageIndexChanged" OnPageSizeChanged="radGrdDraftPreliminaryEnquiry_PageSizeChanged"  HeaderStyle-Font-Names="Open Sans" OnItemCommand="radGrdDraftPreliminaryEnquiry_ItemCommand" HeaderStyle-Font-Size="Smaller" EnableEmbeddedSkins="True" EnableEmbeddedBaseStylesheet="True"  OnItemDataBound="radGrdDraftPreliminaryEnquiry_ItemDataBound">


aspx.cs


 protected void radGrdDraftPreliminaryEnquiry_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)

        {

            if (e.Item is GridDataItem)// to access a row

            {

                GridDataItem item = (GridDataItem)e.Item;

                Int64 preEnqID = (Int64)DataBinder.Eval(item.DataItem, "preliminaryenquiryid");

                //var preEnqId = DataBinder.Eval(item.DataItem, "preliminaryEnquiryID") == null ? 0 : (long)DataBinder.Eval(item.DataItem, "Priority");

                LinkButton lnkgrdDraftPreliminaryEnquirySelect = (LinkButton)item.FindControl("lnkgrdDraftPreliminaryEnquirySelect");

                //lnkgrdDraftPreliminaryEnquirySelect.PostBackUrl = "PreliminaryEnquiry.aspx?ReferenceId=" + referenceid + "&ReferenceType=195";

                PreliminaryEnquiryId = preEnqID;

                lnkgrdDraftPreliminaryEnquirySelect.PostBackUrl = "PreliminaryEnquiryMigration.aspx? ReferenceId = " + CryptologyFunctions.Encrypt(PreliminaryEnquiryId) + " & ReferenceType = " + CryptologyFunctions.Encrypt(Convert.ToInt64(EnumLookup.ReferenceType.PreliminaryEnquiry).ToString()) + " & PreliminaryEnquiryId = " + CryptologyFunctions.Encrypt(PreliminaryEnquiryId) + " & Finalized = " + CryptologyFunctions.Encrypt("false") + " &ViewMode="+ CryptologyFunctions.Encrypt( false)+")";

            }

        }


Note:- Please use same datafield as in database and same as int or int64, int32 and datafield name is case sensitive.

Gridview ASP.NET Linkbutton click event

aspx page

 <asp:TemplateField HeaderText="Select" Visible="true" >

                                    <ItemTemplate>

                                        <asp:LinkButton ID="lnkgrdDraftPreliminaryEnquirySelect" runat="server" CssClass="btn btn-danger"  ToolTip="Select" CommandName="Select" Text="Select" CausesValidation="false" CommandArgument='<%# Eval("preliminaryenquiryid") + ";"+ Eval("fileid")%>' OnClick="lnkgrdDraftPreliminaryEnquirySelect_Click" > </asp:LinkButton>

                                        <%--<asp:LinkButton ID="lnkgrdDraftPreliminaryEnquiryDelete" runat="server" CssClass="btn btn-danger"  ToolTip="delete" CausesValidation="false" CommandName="delete" >Delete</asp:LinkButton>--%>

                                    </ItemTemplate>

                                </asp:TemplateField>

Friday, December 15, 2023

GridView paging with totalrowcount with storedprocedure with DataSet

StoredProcedure


 ALTER PROCEDURE [dbo].[SSP_GetAllDraftPreliminaryEnquiryByOfficeIDWithPaging]

@OfficeID bigINT,

@PageIndex INT = 1,

@PageSize   INT = 1

AS

BEGIN

select fi.fileid, pe.preliminaryenquiryid, pe.sourceofpe,pe.complaintreferencenumber, pe.penumber, pe.PEDate, fi.ReferenceId

from preliminaryenquiry pe

inner join fileinformation fi on fi.referenceid = pe.preliminaryenquiryid and fi.ReferenceType=195

where not exists (

    select 1

    from registerpreliminaryenquiry

    where referenceid = pe.preliminaryenquiryid and  referencetype = 195 

) AND fi.OfficeID = @OfficeID order by FileID

OFFSET (@PageIndex * @PageSize) 

ROWS FETCH NEXT @PageSize ROWS ONLY


select COUNT(*) as TotalRowCount

from preliminaryenquiry pe

inner join fileinformation fi on fi.referenceid = pe.preliminaryenquiryid and fi.ReferenceType=195

where not exists (

    select 1

    from registerpreliminaryenquiry

    where referenceid = pe.preliminaryenquiryid and  referencetype = 195 

) AND fi.OfficeID = @OfficeID

END



-----------------------

aspx.cs


protected void Page_Load(object sender, EventArgs e)

        {

LoadDraftPreliminaryEnquiry(0, 10);

}

public void LoadDraftPreliminaryEnquiry(int pageNumber, int pageSize)

        {

            try

            {

                DataSet ds = new DataSet();


                using (var client = ServiceClient<IComplaintMigrationManager>.Create(ObjectConstants.ComplaintMigrationManager))

                {

                    ds = client.Instance.GetAllDraftPreliminaryEnquiryByOfficeIDWithPaging(CurrentUser.OfficeId, pageNumber,pageSize);

                }


                if (ds != null)

                {

                    if (ds.Tables[0].Rows.Count > 0)

                    {

                        var totalRowsCount = Convert.ToInt32(ds.Tables[1].Rows[0]["TotalRowCount"]);

                        grdDraftPreliminaryEnquiry.VirtualItemCount = totalRowsCount;

                        

                    }

                }

                grdDraftPreliminaryEnquiry.DataSource = ds;

                grdDraftPreliminaryEnquiry.DataBind();

            }

            catch (Exception ex)

            {

                ProcessException(ex);

            }

          }  

        }



 protected void grdDraftPreliminaryEnquiry_PageIndexChanging(object sender, GridViewPageEventArgs e)

        {

            var pageIndex = e.NewPageIndex;

            grdDraftPreliminaryEnquiry.PageIndex = pageIndex;

            LoadDraftPreliminaryEnquiry(pageIndex, 10);

        }


----------------------------------------

aspx


<asp:GridView runat="server" ID="grdDraftPreliminaryEnquiry" AutoGenerateColumns="false" 

                        

                        OnRowCommand="grdDraftPreliminaryEnquiry_RowCommand" CssClass="table table-striped" OnRowDeleting="grdDraftPreliminaryEnquiry_RowDeleting" OnRowDataBound="grdDraftPreliminaryEnquiry_RowDataBound" AllowPaging="true" OnPageIndexChanging="grdDraftPreliminaryEnquiry_PageIndexChanging" AllowCustomPaging="true" PageSize="10" >

                            <Columns>

                                <asp:BoundField DataField="fileid" HeaderText="File ID" />

                                <asp:BoundField DataField="preliminaryenquiryID" HeaderText="preliminary enq ID" />

                                <asp:BoundField DataField="sourceofpe" HeaderText="source of pe" />

                                <asp:BoundField DataField="complaintreferencenumber" HeaderText="Comp ref num" />

                    <%--            <telerik:GridBoundColumn DataField="referencefilenumber" HeaderText="Ref File No." />--%>

                                <asp:BoundField DataField="penumber" HeaderText="pe number" />

                                <asp:BoundField DataField="pedate" HeaderText="PE Date" />

                                <%--<telerik:GridBoundColumn DataField="referencetype" HeaderText="reference type" />--%>

                                <asp:BoundField DataField="referenceid" HeaderText="reference ID" />

                                <%--<telerik:GridBoundColumn DataField="createdby" HeaderText="created by" />--%>

                                <asp:TemplateField HeaderText="Select" Visible="true">

                                    <ItemTemplate>

                                        <asp:LinkButton ID="lnkgrdDraftPreliminaryEnquirySelect" runat="server" CssClass="btn btn-danger"  ToolTip="Select" CommandName="Select" Text="Select" CausesValidation="false" CommandArgument='<%# Eval("preliminaryenquiryid") + ";"+ Eval("fileid")%>' > </asp:LinkButton>

                                        <%--<asp:LinkButton ID="lnkgrdDraftPreliminaryEnquiryDelete" runat="server" CssClass="btn btn-danger"  ToolTip="delete" CausesValidation="false" CommandName="delete" >Delete</asp:LinkButton>--%>

                                    </ItemTemplate>

                                </asp:TemplateField>

                            </Columns>

                        <PagerSettings Mode="NumericFirstLast" PageButtonCount="4" FirstPageText="First" LastPageText="Last"/>  


                        </asp:GridView>


-

Thursday, December 14, 2023

Multiple eval command argument in Linkbutton asp.net

  <asp:LinkButton ID="lnkgrdDraftPreliminaryEnquirySelect" runat="server" CssClass="btn btn-danger"  ToolTip="Select" CommandName="Select" Text="Select" CausesValidation="false" CommandArgument='<%# Eval("preliminaryenquiryid") + ";"+ Eval("TrackingId")%>' > </asp:LinkButton>


  protected void grdDraftPreliminaryEnquiry_RowCommand(object sender, GridViewCommandEventArgs e)

        {

            if (e.CommandName == "Select")

            {

                string[] commandArgs = e.CommandArgument.ToString().Split(new char[] { ';' });

                //int index = Convert.ToInt32(e.CommandArgument);

                //GridViewRow row = grdDraftPreliminaryEnquiry.Rows[5];

                //row.BackColor = Color.Yellow;


                int preliminaryEnquiryID = Convert.ToInt32(commandArgs[0]);

                UCPreliminaryInformation.FileID = Convert.ToInt32(commandArgs[1]);

}

}

reference:- https://www.codeguru.co.in/2008/09/how-to-pass-multiple-values-to.html

Wednesday, December 13, 2023

Monday, December 11, 2023

True of false condition in select query

 select 1 from tn where id = 5

if exist in SQL and if condition in SQL

 IF EXISTS (SELECT 1 FROM Document WHERE ObjectId = @ComplaintId AND ObjectType=151)

BEGIN


END



IF @DiaryNum IS NOT NULL

BEGIN 


end

Friday, December 8, 2023

Two tables SQL Table A minus Table B

 select a.id, a.revision, a.casetype

from A a
where not exists (
    select 1
    from B
    where revision = a.revision and casetype = a.casetype
);

Monday, December 4, 2023

Grid view asp.net selected index change

https://www.codingvila.com/2019/11/get-selected-row-cell-value-from-gridview.html

Radlistview bootstrap cards with Raddatapager

 <telerik:RadAjaxPanel ID="RadAjaxPanel4" LoadingPanelID="RadAjaxLoadingPanel1" runat="server">

                                                        <div class="card-group">

                    <telerik:RadListView runat="server" id="RadGridInbox"  OnPageIndexChanged="RadGridInbox_PageIndexChanged" OnPageSizeChanged="RadGridInbox_PageSizeChanged" OnItemCommand="RadGridInbox_OnItemCommand"   >

                            <ItemTemplate>

                                 <div class="col-sm-4">

                        

                                        <telerik:RadCard runat="server" >

                                            <div class="card">

                                    

                                            <telerik:CardHeaderComponent runat="server">

                                                <telerik:CardTitleComponent runat="server">

                                                   File Number:-<asp:LinkButton ID="lnkRedirectToDetailsScreen" CommandArgument='<%#Eval("ApplicationId") +";"+ Eval("ApplicationType")+";"+ Eval("ACK")+";"+ Eval("FileUserTypeId")+";"+ Eval("IsMigrated")+";"+ Eval("IsSetupDone")+";"+ Eval("ReferenceId")+";"+ Eval("ReferenceType")+";"+ Eval("TrackingId")%>' runat="server" CausesValidation="false" CommandName="RedirectToDetailsScreen" >

                                                    <asp:Label ID="lblApplicationNumber" Style="font-size: 11px;" runat="server" Text='<%# Convert.ToString(Eval("FileNumber")) %>' />

                                                    </asp:LinkButton>

                                                </telerik:CardTitleComponent>

                                            </telerik:CardHeaderComponent>

                                

                                            <telerik:CardBodyComponent runat="server" class="card-body" style="padding: 0px 0px">

                                                Subject:- <%#Eval("Subject") %>

                                            </telerik:CardBodyComponent>


                                            <telerik:CardBodyComponent runat="server" class="card-body" style="padding: 0px 0px">

                                                From:- <%#Eval("FromUserName") %>

                                            </telerik:CardBodyComponent>


                                             <telerik:CardBodyComponent runat="server" style="padding: 0px 0px">

                                               Date:- <%#Eval("ReceivedDate") %>

                                            </telerik:CardBodyComponent>


                                                <telerik:CardBodyComponent runat="server" style="padding: 0px 0px" >

                                               Type:- <%#Eval("ApplicationType") %>

                                            </telerik:CardBodyComponent>


                                                <telerik:CardBodyComponent runat="server" style="padding: 0px 0px">

                                               File/Doc Type:- <%#Eval("FileTypeName") %>

                                            </telerik:CardBodyComponent>


                                                <telerik:CardBodyComponent runat="server" style="padding: 0px 0px">

                                               Status:- <%#Eval("CurrentStateName") %>

                                            </telerik:CardBodyComponent>


                                                  <telerik:CardBodyComponent runat="server" style="padding: 0px 0px">

                                               Priority:- <%#Eval("PriorityName") %>

                                            </telerik:CardBodyComponent>


                                                 <telerik:CardBodyComponent runat="server" style="padding: 0px 0px">

                                               Secrecy:- <%#Eval("SecrecyLevelName") %>

                                            </telerik:CardBodyComponent>


                                                  <telerik:CardBodyComponent runat="server" style="padding: 0px 0px">

                                               Remarks:- <%#Eval("Remarks") %>

                                            </telerik:CardBodyComponent>


                                            <telerik:CardActionsContainerComponent runat="server" CardActionsAlignment="Start">

                                                <%--<span class="k-button k-flat k-primary">Read more</span>--%>

                                                <telerik:CardSeparatorComponent runat="server" Orientation="Vertical">

                                                </telerik:CardSeparatorComponent>

                                                <%--<span class="k-button k-flat k-primary">Save for later</span>--%>

                                                 <asp:LinkButton ID="EditButton" ToolTip="Edit" CommandArgument='<%#Eval("ApplicationId") +";"+ Eval("ApplicationType")+";"+ Eval("ACK")+";"+ Eval("FileUserTypeId")+";"+ Eval("IsMigrated")+";"+ Eval("IsSetupDone")+";"+ Eval("ReferenceId")+";"+ Eval("ReferenceType")+";"+ Eval("TrackingId")%>' runat="server" CausesValidation="false" CommandName="EditItem"><i class="fa fa-edit" ></i></asp:LinkButton>

                                                <asp:LinkButton ID="MoveChangeDirectory" ToolTip="Move Document/File to other folder" CommandArgument='<%#Eval("ApplicationId") +";"+ Eval("ApplicationType")+";"+ Eval("ACK")+";"+ Eval("FileUserTypeId")+";"+ Eval("IsMigrated")+";"+ Eval("IsSetupDone")+";"+ Eval("ReferenceId")+";"+ Eval("ReferenceType")+";"+ Eval("TrackingId")%>' runat="server" CausesValidation="false" CommandName="DirectoryMoveItem"><i class="fa fa-exchange"></i></asp:LinkButton>

                                            </telerik:CardActionsContainerComponent>


                                            <%--<telerik:CardFooterComponent runat="server">

                                                    <span class="k-icon k-i-heart-outline"></span>32

                                                    <span class="k-icon k-i-comment"></span>2

                                                    <span class="k-icon k-i-clock"></span>10 m

                                            </telerik:CardFooterComponent>--%>

                                        

                                                </div>

                                            </telerik:RadCard>

                        

                         

                                </div>

                            </ItemTemplate>

                            <%--<LayoutTemplate>

                

                                <fieldset style="max-width: 1100px" >

                                    <asp:Panel ID="PlaceHolder" runat="server" />

                                <telerik:RadDataPager RenderMode="Lightweight" ID="RadDataPager1" runat="server" PagedControlID="RadGridInbox" PageSize="6">

                                                                    <Fields>

                                                                        <telerik:RadDataPagerButtonField FieldType="FirstPrev"></telerik:RadDataPagerButtonField>

                                                                        <telerik:RadDataPagerButtonField FieldType="Numeric" PageButtonCount="4"></telerik:RadDataPagerButtonField>

                                                                        <telerik:RadDataPagerButtonField FieldType="NextLast"></telerik:RadDataPagerButtonField>

                                                                        <telerik:RadDataPagerPageSizeField PageSizeComboWidth="60" PageSizeText="Page size: "></telerik:RadDataPagerPageSizeField>

                                                                        <telerik:RadDataPagerGoToPageField CurrentPageText="Page: " TotalPageText="of" SubmitButtonText="Go"></telerik:RadDataPagerGoToPageField>

                                                                    </Fields>

                                                                </telerik:RadDataPager>

                                    </fieldset>

                    

                            </LayoutTemplate>--%>

                             <%--<ItemStyle Width="5%" />--%>

                    </telerik:RadListView>

                </div>

        

                <telerik:RadDataPager RenderMode="Lightweight" ID="RadDataPager1" runat="server" PagedControlID="RadGridInbox" PageSize="20"  >

            <Fields>

                <telerik:RadDataPagerButtonField FieldType="FirstPrev"></telerik:RadDataPagerButtonField>

                <telerik:RadDataPagerButtonField FieldType="Numeric"></telerik:RadDataPagerButtonField>

                <telerik:RadDataPagerButtonField FieldType="NextLast"></telerik:RadDataPagerButtonField>

               <%-- <telerik:RadDataPagerPageSizeField PageSizeText="Page size: " PageSizes="10,20,30,50"></telerik:RadDataPagerPageSizeField>--%>

                                                   

                                                   

            </Fields>

        </telerik:RadDataPager>

                                                    </telerik:RadAjaxPanel>


reference:- https://demos.telerik.com/aspnet-ajax/listview/examples/overview/defaultcs.aspx

https://demos.telerik.com/aspnet-ajax/datapager/examples/overview/defaultcs.aspx