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