Click here to Skip to main content
15,891,136 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i have a gridview control...i wanna show only last 4 digit of credit card no in this grid view...how to make substring in c#??
Posted

Why Substring? Go RIGHT[^]
C#
string CCNo = "0000000000000000";
string XXNo = "XXXXXXXXXXXX";
string MaskedCCNo = String.Format("{0}{1}", XXNo, CCNo.Right(4));
You could simplify this code too.
 
Share this answer
 
Try this.

C#
string creditNumber = "1111222233334444"; ;
        var last4 = creditNumber.Substring(creditNumber.Length - 4, 4);


Reference:SubString[^]


Sample:
C#
<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server" OnRowDataBound="GridView1_RowDataBound">
       <Columns>
           <asp:BoundField DataField="credit" HeaderText="credit" />
           <asp:BoundField DataField="last4"  HeaderText="last4" />
       </Columns>
   </asp:GridView>



C#
protected void Page_Load(object sender, EventArgs e)
       {
           if (!Page.IsPostBack)
           {

               DataTable dt = new DataTable();
               dt.Columns.Add("credit", typeof(string));
               dt.Columns.Add("last4", typeof(string));
               dt.Rows.Add("11112222333344444","" );
               dt.Rows.Add("11112222333344444" ,"");

               GridView1.DataSource = dt;
               GridView1.DataBind();
           }
       }

       protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
       {
           if (e.Row.RowType == DataControlRowType.DataRow)
           {
               string creditNumber = DataBinder.Eval(e.Row.DataItem, "credit")+"";
               var last4 = creditNumber.Substring(creditNumber.Length - 4, 4);
               e.Row.Cells[1].Text = last4;

           }
       }
 
Share this answer
 
v2
Comments
Member 10276220 22-Jan-14 5:15am    
i wanna show it in gridview
this is my code:
<itemtemplate>XXXXXXXXXXXX<%#Eval("CreditCardNumber").ToString().Substring(12,4) %>

but i am getting error
Member 10276220 22-Jan-14 5:17am    
i wanna show it in gridview
this is my code:
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" HeaderStyle-Height="30px">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<HeaderTemplate>Credit Card No</HeaderTemplate>
<itemstyle>
<itemtemplate>XXXXXXXXXXXX<%#Eval("CreditCardNumber").ToString().Substring(12,4) %>



but i am getting error
Karthik_Mahalingam 22-Jan-14 5:19am    
check my latest solution..
Karthik_Mahalingam 22-Jan-14 5:22am    
try this

<asp:TemplateField HeaderStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle"
HeaderStyle-Height="30px">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<HeaderTemplate>
Credit Card No</HeaderTemplate>
<itemtemplate>
<%# Eval("CreditCardNumber").ToString().Substring(Eval("CreditCardNumber").ToString().Length -4, 4)%>

Member 10276220 22-Jan-14 6:28am    
thank you....

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900