Friday, December 26, 2014

Nokia Lumia 530 review - Personal Experience

Hi All,
I was an Android user but one of my colleagues was in love with Lumia. So I decided to give it a try... So I purchased Lumia :).

Pros:
  • Design is sleek
  • Light weight 
  • Touch is very smooth (I was not expecting such a good touch from Nokia) 
  • Performance is very good
Cons:
  • Content(Pics/Video) is not being saved on SD card even then SD card is selected in Settings
  • Only Videos made by this mobile run smoothly or some other videos by chance run smoothly. So there is no guarantee that it will run any .avi, .mp4 or .3gp formats. I have movies in my SD card but I cant run them smoothly. i am very upset due to this feature. :(
  • WhatsApp and Viber can not browse SD card to send pics or other media
  • Skype is unable to send videos
  • When you have a video chat on skype its screens gets hot that you can boil an egg there :)
  • Multiple email accounts can be added but they are not fully synced. for example If i delete an email from my gmail or yahoo account. I want that should be deleted from Inbox.
  • Songs can not be payed until we have to make a list for all the songs.
  • Battery drains early
Final Verdict:
          Don't Buy this

Wednesday, November 19, 2014

Sorting in Crosstab report Crystal Report

Scenario: 
Sorting data in crosstab on the basis of invisible column in the dataset/table which is attached to report. Image 1 is the image without sorting. It is sorted by report engine automatically on the basis of first column which is description. But we do not want the sorting of report on the basis of description and description is sorted alphabetically. Image 2 is showing the design of the report. You can notice that description is the primary field there. So report is sorted on this field.



Image: 1


Image: 2

Solution:
Following are the steps:
Step 1: Open report designer and right click and select "Cross-Tab Expert..."


Step 2: You will see the Rows part and currently in my case i have two columns as rows description and date.


Step 3: As reports is being displayed description wise which is not required. There is a serial number field in table and report should be displayed according to it. So Select "Description" and click "Group Options...". There will be a dialog. So have to do some changes in it.


Step 4: Click the drop down and select SR_NO (serial number)



Step 5: SR_NO is selected in the image because you can see that there is mentioned that "the records will be sorted and grouped by:" So we are changing sorting here. :)



Step 6: Click the next tab "Options". Here we can customize the group name. By default this is unchecked as you can notice here.


Step 7: Check this checkbox and select the field for display and grouping which is description here



Step 8: Click "OK" and "Description" field will be replaced with "SR_NO"


Step 9: Now print the report and you can notice that report is sorted in SR_NO (serial number) instead of "Description" and display field is "Description"


















Tuesday, September 16, 2014

Selecting a row/record in Syncfusion's GridGroupingControl manually or at runtime

Here are following steps to select a row in gridgroupingcontrol manually:

1 - // Set  these properties
     //Inherited GridControlBase Selection

//turn on the GridGroupingControl's listbox mode (uses Table.SelectRecords collection)
            gridGroupingControl1.TableOptions.ListBoxSelectionMode = SelectionMode.One; 
//turn off GridControlBase selection support (do not use TableControl.Selections collection
      gridGroupingControl1.TableOptions.AllowSelection = ((Syncfusion.Windows.Forms.Grid.GridSelectionFlags)((Syncfusion.Windows.Forms.Grid.GridSelectionFlags.Row | Syncfusion.Windows.Forms.Grid.GridSelectionFlags.AlphaBlend)));
        //indicate how you want current cell to look/behave
            gridGroupingControl1.TableOptions.ListBoxSelectionCurrentCellOptions = GridListBoxSelectionCurrentCellOptions.HideCurrentCell;

2 - // Call this function on button click or on some other event
  private void SetGridRow()
        {
            gridGroupingControl1.Table.Records[0].SetCurrent();
            gridGroupingControl1.TableControl.CurrentCell.Activate(0, 0);
        }

3 - Implement this event and it will raise automatically due to step 2
        private void gridGroupingControl1_TableControlCurrentCellActivated(object sender, GridTableControlEventArgs e)
        {
            GridGroupingControl grid = sender as GridGroupingControl;

            if (grid.Table.CurrentRecord != null)
            {
                grid.Table.SelectedRecords.Clear();
                Record rec = grid.Table.CurrentRecord;
                if (!grid.Table.SelectedRecords.Contains(rec))
                    grid.Table.SelectedRecords.Add(rec);
            }            
        }

Friday, July 25, 2014

GridConditionalFormatDescriptor and QueryCellStyleInfo- how to format a row and a single cell in gridgroupingcontrol of Syncfusion?

GridConditionalFormatDescriptor only allow you to row formatting. 
Sample:
  GridConditionalFormatDescriptor gridConditionaReplaced = new GridConditionalFormatDescriptor();
            gridConditionaReplaced.Appearance.AnyRecordFieldCell.Font.Bold = true;
            gridConditionaReplaced.Appearance.AnyRecordFieldCell.TextColor = System.Drawing.Color.Brown;
            gridConditionaReplaced.Expression = "[ORDER_STATUS] =  'Replaced'";

            gridList.TableDescriptor.ConditionalFormats.Add(gridConditionaReplaced);

If you want to format any one cell, then you need to use QueryCellStyleInfo or PrepareViewStyleInfo event to achieve that. Below is the example that shows to change backcolor of a negative value cell and bracket for nagative value cell. Please refer to the below code in which QueryCellStyleInfo event is used to achieve your need.
Sample:
this.gridGroupingControl1.QueryCellStyleInfo += new GridTableCellStyleInfoEventHandler(gridGroupingControl1_QueryCellStyleInfo);
void gridGroupingControl1_QueryCellStyleInfo(object sender, GridTableCellStyleInfoEventArgs e)

if (e.TableCellIdentity.TableCellType == GridTableCellType.RecordFieldCell
|| e.TableCellIdentity.TableCellType == GridTableCellType.AlternateRecordFieldCell)
{
if (e.TableCellIdentity.Column.MappingName == "B")
{
int cellvalue = Convert.ToInt32(e.Style.CellValue);
if (cellvalue < 0)
{
e.Style.BackColor = Color.Red;
e.Style.Format = "{#,##}"; // You can set your own format
}
}
}
}

Wednesday, July 9, 2014

MS Access Database file deployment in .Net

I found it helpful from stackoverflow that is why I shared with you.

http://stackoverflow.com/questions/18961296/does-access-itself-need-to-be-installed-so-my-net-app-can-use-an-access-databas

Question:
I am developing a .NET program. If I use Access as a database for the purpose of running the program, should Access be installed on the host computer?
If is it not necessary that Access be installed, what should be used for proper running of the program (for example dll file)?
Also, it is important for me to have a low volume program.

Answer:
No, you don't need to have the full Microsoft Access application installed on the machine(s) on which you intend to run your .NET app. What you do need is to have the Microsoft Access Database Engine (a.k.a "ACE") installed on each machine. Note that the installed version of ACE (32-bit or 64-bit) must match the "bitness" of your .NET application (i.e., a 32-bit .NET application will need the 32-bit version of ACE, and a 64-bit .NET application will require the 64-bit version of ACE).
The installers for the Access Database Engine ("ACE") are available here.
http://www.microsoft.com/en-US/download/details.aspx?id=13255

Friday, May 16, 2014

How to remove SkypEmoticons malware - Part 2

"Your skype does not support extended icons. Please download the extension here: 
http://skypemoticonscomplete.com/?skype=1"

One of my friends in Canada got same issue but following Part 1 he was unable to solve the issue then he pinged me to resolve it at any cost. We did not want to reinstall OS. So here are the following steps to remove it because in this case, it has changed some of its settings and places. As SkypEmoticon is a malware so do not install any kind of new extensions for viewing skype animated icons. Please install the animated icons from well reputed companies do not install them on your friend's request. 
Anyways I installed it and it started disturbing my chat as well. It automatically added new line after every sentence and start sending the above blue sentence as well almost with every sentence of emoticon. Surprisingly, no antivirus recognizes it. :(
It may vary from Windows 7 to Windows 8. Current screens shots are taken from Windows 7. 
But I hope even then it will help u.

So here are the following steps to remove it:
1- Uninstall SkypEmoticons from Control Panel -> Add/Remove Programs
but it is still there

2 - So go to your Task Manager

                                      

3 - Right click and Open file location like that

4 - As the folder opens, click End task the SkypEmoticons that is SE.exe * 32 process from task manager and then delete the folder named SkypEmoticons from Roaming folder as in the image. Usually the path is "C:\Users\username\AppData\Roaming\SkypEmoticons"


5 - Now go to Run and write Regedit, it will open the Registry Editor
6 - Press CTRL + F and type SkypEmi, it will show you the following item keep on Pressing F3 to find more registry items like that and delete them. You can see in the following images.
7 - After getting this message that Finished searching through the registry. You can see the last image. Press CTRL + F and type SE.exe, it will show you the same screen with SE.exe at some path so delete them also and keep on Pressing F3 to find more registry items like that and delete them. You can see in the following images.






5 - 

8 - Now you are free from this malware. :)

Monday, May 12, 2014

Subreport is not showing data

Sometimes sub-report does not show its data. Although user is providing data accurately. There are two solutions for doing this:

1 - Redesign subreport, it will fix your issue definitely

2 - Make Formula fields and call the values in these formula fields and then use these formula fields.