Monday, February 24, 2020

Prevent RDLC Conversion Error



=IIF( CDATE( IIF( TRIM(Fields!FldName.Value).ToString().Length = 0,"1/1/0001" ,Fields!FldName.Value)).ToString() = CDATE("01/01/0001"), "" ,Format(CDATE(IIF(TRIM(Fields!FldName.Value).ToString().Length = 0,"1/1/0001",Fields!FldName.Value)), "dd/MM/yyyy"))

Tuesday, June 5, 2018

Case Statement in SQL WHERE Clause

DECLARE @FirstName VARCHAR(100)
SET @FirstName = ''
 
DECLARE @LastName VARCHAR(100)
SET @LastName = 'John' 
 
SELECT FirstName, LastName
FROM Contacts
WHERE  
    FirstName = CASE
    WHEN LEN(@FirstName) > 0 THEN  @FirstName
    ELSE FirstName
    END
AND
    LastName = CASE
    WHEN LEN(@LastName) > 0 THEN  @LastName
    ELSE LastName
    END
GO

Wednesday, May 9, 2018

Working With Null Values in SQL

SELECT Field1,Field2,ISNULL(Field3,'') + ' ' + isnull(Field4,'') as Parm1 FROM TableName 

Remove Restoring On SQL Database

RESTORE DATABASE  DB_Name WITH RECOVERY
GO

Custom Validation Message with HTML5

< input type="text" id="username" required placeholder="Enter Name" oninvalid="this.setCustomValidity('Enter User Name Here')" oninput="this.setCustomValidity('')"/>

Wednesday, October 23, 2013

Merge cells with equal values in a GridView



Below is the code


public class GridDecorator
{
    public static void MergeRows(GridView gridView)
    {
        for (int rowIndex = gridView.Rows.Count - 2; rowIndex >= 0; rowIndex--)
        {
            GridViewRow row = gridView.Rows[rowIndex];
            GridViewRow previousRow = gridView.Rows[rowIndex + 1];

            for (int i = 0; i < row.Cells.Count; i++)
            {
                if (row.Cells[i].Text == previousRow.Cells[i].Text)
                {
                    row.Cells[i].RowSpan = previousRow.Cells[i].RowSpan < 2 ? 2 : 
                                           previousRow.Cells[i].RowSpan + 1;
                    previousRow.Cells[i].Visible = false;
                }
            }
        }
    }
}
 
 
And in the PreRender of Gridview 
 
GridDecorator.MergeRows(gridView);
 
 
Reference:  http://www.codeproject.com/Articles/34337/How-to-merge-cells-with-equal-values-in-a-GridView

Monday, October 21, 2013

Show/Hide Row Details in Gridview



Below is the code for the above displated grid
       
<asp:GridView ID="grdUW" runat="server" AutoGenerateColumns="False" CellPadding="5"
Font-Size="12px" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" RowStyle-VerticalAlign="Bottom"
 Style="z-index: 100; left: 5px; width: 980px; height: auto;" TabIndex="1">
 <Columns>
<asp:TemplateField>
<EditItemTemplate>
 <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBoxDone_CheckedChanged"
  Width="15px" />
</EditItemTemplate>
  <ItemTemplate>
  <table style="width: 980px;" border="0">
  <tr>
  <td height="10">
  </td>
  </tr>
  <tr>
  <td width="25" align="center">
  <div class="group" id='<%#String.Format("customer{0}",Container.DataItemIndex) %>' 
  onclick='showhide(<%#String.Format("customer{0}",Container.DataItemIndex) %>,<%#String.Format("order{0}",Container.DataItemIndex) %>)'>
  <asp:Image ID="imgCollapsible" CssClass="first" ImageUrl="images/plus.png" Style="margin-right: 5px;"
  runat="server" />
</div>
 </td>
 <td align="center" width="20">
 <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" Checked='<%# Bind("Selected") %>'
  OnCheckedChanged="CheckBoxDone_CheckedChanged" Width="15px" />
 </td>
  <td align="left" width="410" class="user1" style="padding-left:10px;">
  <asp:Label ID="txtCond" runat="server" Text='<%# Bind("CondText") %>'></asp:Label>
  </td>
  <td align="left" width="180" class="user1">
   <asp:Label ID="txtTamt" runat="server" Text='<%# Bind("TAmt") %>'></asp:Label>
   </td>
   <td align="left" width="160" class="user1">
 <asp:Label ID="txtTprem" runat="server" Text='<%# Bind("TPremium") %>'></asp:Label>
 </td>
 <td align="left" class="user1">
 <asp:Label ID="txtExclaim" runat="server" Text='<%# Bind("ExClaim") %>'></asp:Label>
 </td>
 </tr>
 <tr>
 <td colspan="6">
 <asp:HiddenField ID="cnum" runat="server" Value='<%#Eval("CondNo") %>' />
 <asp:HiddenField ID="SpText" runat="server" Value='<%#Eval("SpText") %>' />
 <asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Bind("Rate") %>' />
 <asp:HiddenField ID="HiddenField2" runat="server" Value='<%#Eval("Premium") %>' />
 <asp:CheckBox ID="OrgSelected" runat="server" AutoPostBack="true" Checked='<%# Bind("Selected") %>'
 Enabled="false" Visible="false" Width="15px" />
 </td>
 </tr>
 <tr>
 <td height="10">
 </td>
 </tr>
 <tr>
 <td colspan="6">
 <div id='<%#String.Format("order{0}",Container.DataItemIndex) %>' class="order" >
 <table border="0" cellspacing="0" cellpadding="3" style="width: 930px;" id="pnlCondition" runat="server"
 visible="true">
 <tr>
<td align="right" valign="middle" class="fieldtitle">
 
</td>
<td align="left" valign="middle" colspan="5">
 
 </td>
 </tr>
 <tr>
 <td align="right" valign="middle" class="tdPadding">
 <%-- <asp:CheckBox runat="server" ID="Selection" />--%>
 <asp:Label ID="lblCNo" runat="server" Text="Cond No" Font-Bold="True" CssClass="user1"></asp:Label>
 </td>
 <td align="left" valign="middle">
 <asp:TextBox ID="txtCondNo" runat="server" class="input200width" Text='<%# Bind("CondNo") %>'
 Height="15" Style="vertical-align: middle;" Enabled="false"></asp:TextBox>
 </td>
 <td align="right" valign="middle" class="tdPadding">
<asp:Label ID="lblRowCond" runat="server" Text="Condition Text" Font-Bold="True"
CssClass="user1"></asp:Label>
</td>
<td align="left" valign="middle" colspan="3">
<asp:TextBox ID="txtRowCond" runat="server" Font-Bold="True" Height="15" class="input200width"
 Width="452px" Text='<%# Bind("CondText") %>'></asp:TextBox>
</td>
</tr>
<tr class="tableBGcolor1">
<td align="right" valign="middle" class="fieldtitle" width="119">
 
</td>
<td align="left" valign="middle">
 
 </td>
<td align="right" valign="middle" class="fieldtitle" width="130">
 
</td>
<td align="left" valign="middle">
  
</td>
 <td align="right" valign="middle" class="fieldtitle">
 
</td>
 <td align="left" valign="middle">
 
 </td>
</tr>
<tr class="tableBGcolor1">
<td align="right" class="tdPadding" valign="middle" width="119">
<asp:Label ID="lblRowAmt" runat="server" CssClass="user1" Font-Bold="True" Text="Amount"></asp:Label>
</td>
<td align="left" valign="middle">
<asp:TextBox ID="txtRowAmt" runat="server" class="input200width" ReadOnly="false"
Height="15" TabIndex="50" Text='<%# Bind("TAmt") %>' AutoPostBack="True" OnTextChanged="ARP"></asp:TextBox>
 </td>
 <td align="right" class="tdPadding" valign="middle" width="130">
<asp:Label ID="lblRowRate" runat="server" CssClass="user1" Font-Bold="True" Text="Rate"></asp:Label>
</td>
<td align="left" valign="middle">
 <asp:TextBox ID="txtRowRate" runat="server" Height="15" class="input200width" TabIndex="51"
 Text='<%# Bind("Rate") %>' AutoPostBack="True" OnTextChanged="ARP"></asp:TextBox>
</td>
 <td align="right" class="tdPadding" valign="middle">
  <asp:Label ID="lblRowPremium" runat="server" CssClass="user1" Font-Bold="True" Text="Premium"></asp:Label>
</td>
<td align="left" valign="middle">
<asp:TextBox ID="txtRowPremium" runat="server" Height="15" class="input200width"
TabIndex="52" Text='<%# Bind("TPremium") %>' AutoPostBack="True" OnTextChanged="ARP"></asp:TextBox>
</td>
</tr>
<tr class="tableBGcolor1">
  <td align="right" class="fieldtitle" valign="middle" width="119">
  
</td>
<td align="left" valign="middle">
 
</td>
<td align="right" class="fieldtitle" valign="middle" width="130">
 
</td>
<td align="left" valign="middle">
 
</td>
<td align="right" class="fieldtitle" valign="middle">
 
</td>
<td align="left" valign="middle">
 
</td>
</tr>
<tr class="tableBGcolor2">
<td align="right" valign="middle" class="tdPadding">
 <asp:Label ID="lblRowSpTxt" runat="server" Text="Special Text" Font-Bold="True" CssClass="user1"></asp:Label>
</td>
<td align="left" valign="middle" colspan="3">
<asp:TextBox ID="txtRowSpTxt" runat="server" Width="510" Height="15" class="input200width"
          CssClass="input200width" Text='<%# Bind("SpText") %>'></asp:TextBox>
 </td>
<td align="right" valign="middle" class="tdPadding">
<asp:Label ID="lblexclaim" runat="server" Font-Bold="True" Text="Excess" CssClass="user1"></asp:Label>
 </td>
<td align="left" valign="middle" class="fieldtitle">
<table style="width: 100%;">
 <tr>
<td width="100">
<asp:TextBox ID="exclaim" runat="server" class="input200width" Text='<%# Bind("ExClaim") %>'
Width="60" Height="15"></asp:TextBox>
 </td>
<td>
 <asp:Button ID="btnSelect" runat="server" Text="Update" CssClass="fsSubmitButton1" Height="25" CommandName="update" CommandArgument='<%# CType(Container,GridViewRow).RowIndex %>'/>
 </td>
</tr>
</table>
</td>
 </tr>
 <tr class="tableBGcolor2">
<td align="right" class="fieldtitle" valign="middle">
 
</td>
<td align="left" valign="middle">
 
</td>
<td align="right" class="fieldtitle" valign="middle">
 
</td>
<td align="left" valign="middle">
 
</td>
<td align="right" class="fieldtitle" valign="middle">
 
</td>
<td align="left" valign="middle">
 
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</ItemTemplate>
<HeaderTemplate>
<table style="width: 980px;" border="0">
<tr style="background-color: #A29062;">
<td width="25">
</td>
 <td height="30" align="center" width="20">
</td>
<td align="left" width="410" class="user2" style="padding-left:10px;">
Conditions
</td>
<td align="left" width="180" class="user2">
Limit
</td>
<td align="left" width="160" class="user2">
Current Premium
</td>
<td align="left" class="user2">
Excess
</td>
</tr>
</table>
</HeaderTemplate>
<HeaderStyle BorderStyle="None" />
<ItemStyle HorizontalAlign="Right" VerticalAlign="Middle" CssClass="tBorder1" />
</asp:TemplateField>
</Columns>
<%-- <FooterStyle BackColor="#779CCA" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#D2D3D5" Height="50" BorderStyle="None" />--%>
<EditRowStyle BackColor="#779CCA" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#779CCA" ForeColor="White" HorizontalAlign="Center" />
<%--<HeaderStyle BackColor="#A29062" Font-Bold="True" ForeColor="White" Height="50px"
CssClass="user2" />--%>
<%--<AlternatingRowStyle BackColor="#D2D3D5" />--%>
</asp:GridView>

And the script is below
<script type="text/javascript">

        function showhide(master, detail) {
           
            var src = $(master).children()[0].src;

            if (src.endsWith("plus.png"))
                src = src.replace('plus.png', 'minus.png');
            else
                src = src.replace('minus.png', 'plus.png');


            $(master).children()[0].src = src;


            $(detail).slideToggle("normal");
        }
    </script>

Tuesday, September 24, 2013

Getting the selected value of an ASP.NET Radiobuttonlist from javascript

            var radioButtons = document.getElementById('<%=rdbpayment.ClientID%>');
            var inputs = radioButtons.getElementsByTagName("input");
            var selected;
            for (var i = 0; i < inputs.length; i++) {
                if (inputs[i].checked) {
                    selected = inputs[i];
                    break;
                }
            }
            if (selected) {
               alert(selected.value);
            }

Wednesday, September 18, 2013

Maintain Scrollbar Position Inside UpdatePanel After Partial PostBack

 <asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release" />
   <script type="text/javascript">
      // It is important to place this JavaScript code after ScriptManager1
      var xPos, yPos;
      var prm = Sys.WebForms.PageRequestManager.getInstance();

      function BeginRequestHandler(sender, args) {
        if ($get('<%=Panel1.ClientID%>') != null) {
          // Get X and Y positions of scrollbar before the partial postback
          xPos = $get('<%=Panel1.ClientID%>').scrollLeft;
          yPos = $get('<%=Panel1.ClientID%>').scrollTop;
        }
     }

     function EndRequestHandler(sender, args) {
         if ($get('<%=Panel1.ClientID%>') != null) {
           // Set X and Y positions back to the scrollbar
           // after partial postback
           $get('<%=Panel1.ClientID%>').scrollLeft = xPos;
           $get('<%=Panel1.ClientID%>').scrollTop = yPos;
         }
     }

     prm.add_beginRequest(BeginRequestHandler);
     prm.add_endRequest(EndRequestHandler);
 </script>

Tuesday, September 17, 2013

Confirmation Dialog in ASP .NET Gridview template column


In the itemplate control write the highlighted code :
       

</asp:TemplateField HeaderText="Save">
 <ItemTemplate>
     <asp:Button ID="btnSave" runat="server" Text="Save" OnClientClick="return confirm('Do you want to save?')" />
 </ItemTemplate>
</asp:TemplateField>

       
 

Saturday, September 7, 2013

Getting row index from a Gridview template column when a Textbox Text is changed

           
            TextBox thisTextBox = (TextBox)sender;
            GridViewRow currentRow = (GridViewRow)thisTextBox.Parent.Parent;
            int rowindex = 0;
            rowindex = currentRow.RowIndex;



Generating Serial number in an Asp.NET Gridview


First create a template control in the Gridview and write the code below inside the ItemTemplate

<%# Container.DisplayIndex+1 %>


Wednesday, January 25, 2012

Disabling Export to Excel In Reportviewer


' In the Reportviewer Load call the CustomizeRV function
  Protected Sub ReportViewer1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles ReportViewer1.Load
        CustomizeRV(CType(sender, System.Web.UI.Control))
    End Sub


  'CustomizeRV definition
  Private Sub CustomizeRV(ByVal reportControl As System.Web.UI.Control)
        For Each childControl As System.Web.UI.Control In reportControl.Controls
            If childControl.[GetType]() Is GetType(System.Web.UI.WebControls.DropDownList) Then
                Dim ddList As System.Web.UI.WebControls.DropDownList = DirectCast(childControl, System.Web.UI.WebControls.DropDownList)
                AddHandler ddList.PreRender, New EventHandler(AddressOf ddList_PreRender)
            End If
            If childControl.Controls.Count > 0 Then
                CustomizeRV(childControl)
            End If
        Next
    End Sub

    'Event handler definition
Private Sub ddList_PreRender(ByVal sender As Object, ByVal e As EventArgs)
        If sender.[GetType]() Is GetType(System.Web.UI.WebControls.DropDownList) Then
            Dim ddList As System.Web.UI.WebControls.DropDownList = DirectCast(sender, System.Web.UI.WebControls.DropDownList)
            Dim listItems As System.Web.UI.WebControls.ListItemCollection = ddList.Items

            If (listItems IsNot Nothing) AndAlso (listItems.Count > 0) AndAlso (listItems.FindByText("Excel") IsNot Nothing) Then
                For Each list As System.Web.UI.WebControls.ListItem In listItems
                    If list.Text.Equals("Excel") Then
                        list.Enabled = False
                    End If
                Next
            End If
        End If
    End Sub

Thursday, December 8, 2011

Paging in Gridview If we dont set Datasource

Declare the dataset as
Shared ds as new Dataset

Bind the gridview using dataset as

Gridview1.Datasource = ds.Table(0)
Gridview1.DataBind()

After that make the AllowPaging = True

Then we have to handle  PageIndexChanging event as bel;ow

Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
        Try
            GridView1.PageIndex = e.NewPageIndex
            GridView1.DataSource = dsTmp.Tables(0)
            GridView1.DataBind()
        Catch ex As Exception

        End Try
    End Sub

Working with Gridview in ASP.NET

Suppose the gridview contains four columns with the last two column as template with Hyperlink
When I click that Hyperlink I need that value in some where say TextBox


                             
 

and in the code behind GridView1_RowCommand event

If e.CommandName = "claim" Then
            Dim index As Integer = Convert.ToInt32(e.CommandArgument)

            Dim row = GridView1.Rows(index)

            Dim lin As LinkButton = CType(row.FindControl("ClaimLink"), LinkButton)
            Dim lin2 As LinkButton = CType(row.FindControl("TransLink"), LinkButton)

            ClaimID.Text = lin.Text
            TRansID.Text = lin2.Text
End If