<div dir="ltr"><div class="gmail-post-text">

<p>Hi everyone, i"m using QGIS2.18, and trying to change feature attributes using the following two methods:</p>

<p><strong>dataProvider:</strong></p>

<pre class="gmail-lang-py gmail-prettyprint gmail-prettyprinted"><code><span class="gmail-pln">attrs </span><span class="gmail-pun">=</span><span class="gmail-pln"> </span><span class="gmail-pun">{</span><span class="gmail-pln"> </span><span class="gmail-lit">0</span><span class="gmail-pln"> </span><span class="gmail-pun">:</span><span class="gmail-pln"> </span><span class="gmail-str">"hello"</span><span class="gmail-pun">,</span><span class="gmail-pln"> </span><span class="gmail-lit">1</span><span class="gmail-pln"> </span><span class="gmail-pun">:</span><span class="gmail-pln"> </span><span class="gmail-lit">123</span><span class="gmail-pln"> </span><span class="gmail-pun">}</span><span class="gmail-pln">
layer</span><span class="gmail-pun">.</span><span class="gmail-pln">dataProvider</span><span class="gmail-pun">().</span><span class="gmail-pln">changeAttributeValues</span><span class="gmail-pun">({</span><span class="gmail-pln"> fid </span><span class="gmail-pun">:</span><span class="gmail-pln"> attrs </span><span class="gmail-pun">})</span></code></pre>

<p><strong>layer object:</strong></p>

<pre class="gmail-lang-py gmail-prettyprint gmail-prettyprinted"><code><span class="gmail-pln">layer</span><span class="gmail-pun">.</span><span class="gmail-pln">startEditing</span><span class="gmail-pun">()</span><span class="gmail-pln">
layer</span><span class="gmail-pun">.</span><span class="gmail-pln">changeAttributeValue</span><span class="gmail-pun">(</span><span class="gmail-pln">fid</span><span class="gmail-pun">,</span><span class="gmail-pln"> fieldIndex</span><span class="gmail-pun">,</span><span class="gmail-pln"> value</span><span class="gmail-pun">)</span><span class="gmail-pln">
layer</span><span class="gmail-pun">.</span><span class="gmail-pln">commitChanges</span><span class="gmail-pun">()</span></code></pre>

<p>I keep the attribute table open, and monitor the changes. The first 
method dataProvider is not able to update the attribute table on the 
fly, even the "reload table" button on the top menu of the table does 
not work. I have to re-open the table to see the changes. The second 
method is working, the attribute table gets instantly updated.</p>

<p>I would like to stay with the dataProvider method but not sure how to get instantly updated attribute table?</p>
    </div><div>Thanks.</div><div><br></div><div>Best regards,</div><div>Ethan<br></div></div>