<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>