Aside note:
When using absolute values instead of percentages in 'width' field options, method fitColumns works as expected: no horizontal scrollbar and fields expanded to fit available width
From your sample tests. Just set rownumbers to true/false to see horizontal scrollbar behaviour
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Basic DataGrid - jQuery EasyUI Demo</title>
<link rel="stylesheet" type="text/css" href="../lib/jquery-easyui-1.4.2/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../lib/jquery-easyui-1.4.2/themes/icon.css">
<link rel="stylesheet" type="text/css" href="../lib/jquery-easyui-1.4.2/demo/demo.css">
<script type="text/javascript" src="../lib/jquery-1.12.3.min.js"></script>
<script type="text/javascript" src="../lib/jquery-easyui-1.4.2/jquery.easyui.min.js"></script>
</head>
<body>
<div id="myWindow" class="easyui-window" style="width: 600px; height: 200px" data-options="resizable:true">
<table id="dg" class="easyui-datagrid"
data-options="singleSelect:false,
url:'../lib/jquery-easyui-1.4.2/demo/layout/datagrid_data1.json',
method:'get',
fit:true,
fitColumns:true,
rownumbers:true">
<thead>
<tr>
<th data-options="field:'itemid',width:'10%'">Item ID</th>
<th data-options="field:'productid',width:'15%'">Product</th>
<th data-options="field:'listprice',width:'10%',align:'right'">List Price</th>
<th data-options="field:'unitcost',width:'15%',align:'right'">Unit Cost</th>
<th data-options="field:'attr1',width:'30%'">Attribute</th>
<th data-options="field:'status',width:'20%',align:'center'">Status</th>
</tr>
</thead>
</table>
</div>
</body>
</html>