这个问题一开始也困扰我很久,就是当我输入到单元格中的数据有更新时,表格不能自动刷新,而需要手动点击一下表格,数据才会同步刷新过来,很显然这不符合正常操作,最后还是找到了问题,一句代码解决。 不过在初始化的时候就不需要,不知道是什么原因。
void combineds2431data()
{
int i ;
unsigned char Cbuf[4]={0};
for(i=0;i<5;i++)
{
Cbuf[0] = readmemory[i*4];
Cbuf[1] = readmemory[i*4+1];
Cbuf[2] = readmemory[i*4+2];
Cbuf[3] = readmemory[i*4+3];
DS2431[i] = chartof(Cbuf);
}
lv_obj_invalidate(table);//自动刷新表格 ,不加这句就需要手动点击表格刷新
sprintf((char*) cdata,"%.0f",DS2431[0]);//格式化输出 浮点数转成字符串输出
lv_table_set_cell_value_fmt(table,2,0,"%s",(const char*)cdata);
sprintf((char*) cdata,"%.1f",DS2431[1]);//格式化输出 浮点数转成字符串输出
lv_table_set_cell_value_fmt(table,2,1,"%s",(const char*)cdata);
sprintf((char*) cdata,"%.2f",DS2431[2]);//格式化输出 浮点数转成字符串输出
lv_table_set_cell_value_fmt(table,2,2,"%s",(const char*)cdata);
sprintf((char*) cdata,"%.2f",DS2431[3]);//格式化输出 浮点数转成字符串输出
lv_table_set_cell_value_fmt(table,2,3,"%s",(const char*)cdata);
sprintf((char*) cdata,"%.2f",DS2431[4]);//格式化输出 浮点数转成字符串输出
lv_table_set_cell_value_fmt(table,2,4,"%s",(const char*)cdata);
}