First of all you will have to make changes in design like this
<asp:GridView ID="gvEmployeeLeaves" runat="server" CellPadding="0" CellSpacing="0"
AutoGenerateColumns="false" Width="300px">
<Columns>
<asp:BoundField DataField="EmpId" HeaderStyle-Width="100px" HeaderText="Employee ID" />
<asp:BoundField DataField="Name" HeaderStyle-Width="100px" HeaderText="Name" />
<asp:TemplateField HeaderText="Leave Status" HeaderStyle-Width="100px">
<ItemTemplate>
<asp:DropDownList ID="ddlLeaveStatus" runat="server" OnSelectedIndexChanged="OnLeaveStatusChanged" AutoPostBack="true">
<asp:ListItem Text="Pending" Value="1"></asp:ListItem>
<asp:ListItem Text="Solved" Value="2"></asp:ListItem>
<asp:ListItem Text="Escalate" Value="3"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Leave Status" HeaderStyle-Width="100px">
<ItemTemplate>
<asp:Label ID="lblLeaveStatus" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Update" HeaderStyle-Width="100px">
<ItemTemplate>
<asp:Button ID="btnUpdate" runat="server" OnClick="OnUpdateClick" Text="Update" CommandArgument='<%#Eval("EmpId") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
You will have to set your dropdownlist AutoPostBack to true and you will have to add the OnSelectedIndexChanged of the drop down list and you will have to add the event of dropdownlist in your code and write the following code in this event
protected void OnLeaveStatusChanged(object sender, EventArgs e)
{
GridViewRow row = (sender as DropDownList).NamingContainer as GridViewRow;
DropDownList ddlLeaveStatus = row.FindControl("ddlLeaveStatus") as DropDownList;
Label lblLeaveStatus = row.FindControl("lblLeaveStatus") as Label;
lblLeaveStatus.Text = ddlLeaveStatus.SelectedItem.Text;
}