Friday 30 May 2014

Get Gridview DataKeys value on RowDataBound and RowCommand gridview in asp.net

//***************Data Key Name

 <asp:GridView ID="GVAgriclutureCrop" runat="server" AllowPaging="True" AllowSorting="True"
        AutoGenerateColumns="False" DataKeyNames="ID,Name " GridLines="None" OnRowCommand="GVAgriclutureCrop_RowCommand" OnRowDataBound="GVAgriclutureCrop_RowDataBound" PageSize="5" ShowFooter="True">


 </asp:GridView>

//**************  On RowDataBound
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
     string id=    GridView1.DataKeys[e.Row.RowIndex]["ID"].ToString();
      string name=  GridView1.DataKeys[e.Row.RowIndex]["Name"].ToString();
    }
}


//**************  On RowCommand


 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        GridViewRow gvr = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
            int rnd = gvr.RowIndex;

            string catid = GridView1.DataKeys[rnd]["ID"].ToString();
            string crid = GridView1.DataKeys[rnd]["Name"].ToString();
}

Get Gridview RowIndex on RowDataBound and RowCommand gridview in asp.net

//*************** On RowCommand

 GridViewRow gvr = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
            int rnd = gvr.RowIndex;  //Row Index



//*************** On RowDataBound

int rnd= e.Row.RowIndex;   //Row Index

Get Gridview RowIndex on Dropdownlist or Button event inside gridview in asp.net



//****************Dropdownlist SelectedIndexChanged Event

 protected void DropDownList_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList ddl = (sender) as DropDownList;
        GridViewRow drr = (GridViewRow)ddl.NamingContainer;
        int rnd = drr.RowIndex;      //Row Index

//Here is your code
}


//****************Button _Click Event
 protected void Button _Click(object sender, EventArgs e)
    {
 Button Btn= (sender) as Button ;
        GridViewRow drr = (GridViewRow)Btn.NamingContainer;
       int rnd = drr.RowIndex;      //Row Index

//Here is your code
}

Delete Confirmation inside gridview delete on Client Side in asp.net



///*******************HtML
<asp:GridView DataKeyNames="CategoryID" ID="GridView1"
       runat="server" AutoGenerateColumns="False"
       OnRowCommand="GridView1_RowCommand"
       OnRowDataBound="GridView1_RowDataBound"
       >
  <Columns>
   <asp:BoundField DataField="ID" HeaderText="ID" />
     <ItemTemplate>
       <asp:LinkButton ID="LinkButton1" CommandArgument='<%# Eval("ID") %>'
         CommandName="Delete" runat="server">Delete</asp:LinkButton>
     </ItemTemplate>
   </asp:TemplateField>
  </Columns>
</asp:GridView>



//******************RowDataBound
protected void GridView1_RowDataBound(object sender, 
                         GridViewRowEventArgs e)
{
  if (e.Row.RowType == DataControlRowType.DataRow)
  {
    LinkButton lb = (LinkButton)e.Row.FindControl("LnkDel"); 
    lb.Attributes.Add("onclick", "javascript:return " +
    "confirm('Are you sure you want to delete this record " +
    DataBinder.Eval(e.Row.DataItem, "ID") + "')"); 
  }
}


//******************** RowCommand

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
  if (e.CommandName == "Delete")
  {
    // get the ID of the clicked row
    int ID = Convert.ToInt32(e.CommandArgument);
    // Delete the record 
    DeleteRecordByID(ID);
    // Implement this on your own :) 
  }
}

//*****************or Button Click

Thursday 29 May 2014

Recover Delete FOLLOWERS in BLOGGER WEBSITE

There are following some easy steps-

Step-1

Go to Dashboard - Layout - Add a Gadget (where you want the gadget to appear) - On your left, click on 'More Gadgets', and you should be able to find the Followers gadget there.




If you get an error that says "This gadget is experimental and is not yet available on all blogs. Check back soon", or if some other reason you can't readily add the gadget from the list of gadgets, try the method in the steps below.


Step-2

Go to Dashboard - Layout - Add a Gadget (where you want the gadget to appear) - Look for HTML/Javascript gadget - Click on the plus (+) icon to add the gadget.


Step-3

In the next window, just copy the URL (the address, as highlighted in the screenshot below) of the page. Once you've copied the address, you can close this window.





https://www.blogger.com/rearrange?blogID=994073362083306609&sectionId=sidebar-right-1&action=editWidget&widgetType=HTML&referrer=directory

Step-4

Paste this URL in a text editor (such as Notepad, MS Word, or wherever you feel comfortable editing it). Next, find for the part that says 'widgetType=HTML' in your address, and change it to 'widgetType=Followers'.

My URL looks like this now, after making the change:


https://www.blogger.com/rearrange?blogID=994073362083306609&sectionId=sidebar-right-1&action=editWidget&widgetType=Followers&referrer=directory

HTML

Step-5


Copy this modified URL, and paste into your browser (preferably the browser that you were using early on, the on that is logged into your Blogger account). Hit 'Enter' on your keyboard, and voila, your Followers gadget is back.


Result-- After following all steps its show 404 ERROR but followers recover. Please check 
http://dotnetseva.blogspot.in/

Wednesday 28 May 2014

Transpose Datatable value from Sql server query using PIVOT Store Procedure


//***************Conditions from server side

CREATE Procedure [TransposeTable]        
    @conditionCol nvarchar(max)          
as        
Begin        
Declare @cols nvarchar(max)        
DECLARE @query AS NVARCHAR(MAX);                
SELECT @query ='SELECT * FROM(SELECT [Columns],  [Columnsid]        
FROM TransposeTable        
) AS source        
PIVOT        
(    MAX(ColumnsID)        
   FOR Columns IN( ' + @conditionCol + ' )' +        
' ) as pvt'        
execute(@query);        
End

//***************Conditions with Inner Query


CREATE Procedure [TransposeTable]                
as        
Begin        
Declare @cols nvarchar(max)        
DECLARE @query AS NVARCHAR(MAX);        
select @cols = STUFF((SELECT  distinct  ',' + QUOTENAME([Columns])  from [TransposeTable]        
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,1,'')        
SELECT @query ='SELECT  * FROM(SELECT [Columns],  [Columnsid]        
FROM TransposeTable        
) AS source        
PIVOT        
(    MAX([Columnsid])        
   FOR [Columns] IN( ' + @cols + ' )' +        
' ) as pvt'        
execute(@query);        
End



Add Dynamic template in Gridview Asp.net C#


Create Template//********************************


 public class GridViewTemplate : ITemplate
    {
        ListItemType _templateType;
        string _columnName;
        string _ControlID;

        public GridViewTemplate(ListItemType type, string colname, string ID)
        {
            _templateType = type;
            _columnName = colname;
            _ControlID = ID;
        }

        void ITemplate.InstantiateIn(System.Web.UI.Control container)
        {
            switch (_templateType)
            {
                case ListItemType.Header:
                    Label lbl = new Label();
                    lbl.Text = _columnName;
                    container.Controls.Add(lbl);
                    break;

                case ListItemType.Item:
                    TextBox tb1 = new TextBox();
                    tb1.Width = 100;
                    tb1.MaxLength = 50;
                    tb1.ID = _ControlID;
                    tb1.DataBinding += new EventHandler(tb1_DataBinding);

                    //tb1.Columns = 4;
                    container.Controls.Add(tb1);
                    break;

                case ListItemType.EditItem:
                    break;

                //case ListItemType.Footer:
                //    CheckBox chkColumn = new CheckBox();
                //    chkColumn.ID = "Chk" + _columnName;
                //    container.Controls.Add(chkColumn);
                //    break;
            }
        }

        void tb1_DataBinding(object sender, EventArgs e)
        {
            TextBox txtdata = (TextBox)sender;
            GridViewRow container = (GridViewRow)txtdata.NamingContainer;
            object dataValue = DataBinder.Eval(container.DataItem, _columnName);
            if (dataValue != DBNull.Value)
            {
                txtdata.Text = dataValue.ToString();
            }
        }

    }


Show Columns//***********************



public void Show_DGV_GridView_Column()
    {
        try
        {
            DataTable dt = (DataTable)ViewState["dt"].Copy();

            for (int i = 0; i < dt.Columns.Count; i++)
            {
                if (i > 1)
                {
                    DataColumn col = dt.Columns[i];
                    string gid;
                    gid = "TxtLanguage" + i.ToString();

                    TemplateField bfield = new TemplateField();
                    bfield.HeaderTemplate = new GridViewTemplate(ListItemType.Header, col.ColumnName, gid);
                    bfield.ItemTemplate = new GridViewTemplate(ListItemType.Item, col.ColumnName, gid);
                    DGV_GridView.Columns.Add(bfield);

                }
                else
                {

                    DataColumn col = dt.Columns[i];
                    if (DGV_GridView.Columns.Count > 1)
                    {
                        if (DGV_GridView.Columns[1].HeaderText != "HeaderText" && DGV_GridView.Columns[1].HeaderText != "HeaderText")
                        {
                            BoundField bfield = new BoundField();
                            bfield.HeaderText = col.ColumnName;
                            bfield.DataField = col.ColumnName;


                            bfield.ItemStyle.Width = 200;
                            DGV_GridView.Columns.Add(bfield);
                        }
                    }
                    else
                    {
                        BoundField bfield = new BoundField();
                        bfield.HeaderText = col.ColumnName;
                        bfield.DataField = col.ColumnName;
                        bfield.ItemStyle.Width = 200;
                        DGV_GridView.Columns.Add(bfield);
                    }
                }

            }
            DGV_GridView.AutoGenerateColumns = false;

            DGV_GridView.DataSource = dt;
            DGV_GridView.DataBind();



        }
        catch (Exception ex)
        {
        }
    }

Tuesday 27 May 2014

Monday 19 May 2014

select or delete only duplicate from table using sql query

WITH QueryTable   AS (
  SELECT RN = ROW_NUMBER() OVER (PARTITION BY salary ORDER BY salary )
         , salary
         , userid
  FROM   emp where salary<>''
)
select * FROM QueryTable   WHERE RN > 1
or
delete  FROM QueryTable    WHERE RN > 1 

select top 3 rd or nth highest salary from emp table using sql query without using top keyword

Query 1->>  Using   DENSE_RANK()     *******************************************

SELECT Salary,username
FROM
(
SELECT Salary,username,DENSE_RANK() OVER(ORDER BY Salary DESC) Rno from Emp
) tbl
WHERE Rno=nth


Query 2->>  Using   ROW_NUMBER()     *******************************************

SELECT Salary,username
FROM
(
SELECT Salary,username,ROW_NUMBER() OVER(ORDER BY Salary DESC) Rno from Emp
) tbl
WHERE Rno=nth

Query 3->>  Using  top keyword     *******************************************
SELECT TOP 1 salary
FROM (
      SELECT DISTINCT TOP 3 salary
      FROM Emp
      ORDER BY salary DESC
      ) a
ORDER BY salary

Query 3->>  Using  Sub Query   *******************************************
SELECT *
FROM Emp Emp1
WHERE (3-1) = (
SELECT COUNT(DISTINCT(Emp2.Salary))
FROM Emp Emp2

WHERE Emp2.Salary > Emp1.Salary)


Wednesday 14 May 2014

Select all rows and particular data with Commas in Sql server

DECLARE @name NVARCHAR(MAX)
SELECT @name= COALESCE(@name + ',', '') + [Column Name] FROM [Table Name]
SELECT [Column Name] = @name

Excel Sort values in ascending order using function TEXTJOIN

 Excel ::  Text ::  1,3,5,2,9,5,11 Result :: 1,2,3,5,5,9,11 Formula ::     TEXTJOIN ( ",",1,SORT(MID(SUBSTITUTE( A1 ,","...