diff --git a/applications/lvgl/ui_data_csv.c b/applications/lvgl/ui_data_csv.c index 4fccea9..05330e9 100644 --- a/applications/lvgl/ui_data_csv.c +++ b/applications/lvgl/ui_data_csv.c @@ -177,6 +177,7 @@ int parse_csv_to_table(lv_obj_t *container, const char *csv_data,int flags) { if (parse_csv_string(csv_data, user) != 0) { return -1; } + int data_row = user->total_rows; // 表格 lv_obj_set_size(container, LV_PCT(100), LV_SIZE_CONTENT); @@ -201,7 +202,7 @@ int parse_csv_to_table(lv_obj_t *container, const char *csv_data,int flags) { // 释放内存 rt_memheap_free(user); - return 0; + return data_row; } char value_[512] = {0}; @@ -248,6 +249,7 @@ int run_csv_to_table(const char *csv_data) { if (csv_data == NULL) { return -1; } + user = (UserData *)rt_memheap_alloc(&sdram_heap, sizeof(UserData)); // 解析 CSV diff --git a/applications/lvgl/ui_data_labels.c b/applications/lvgl/ui_data_labels.c index c5679e3..2636ba0 100644 --- a/applications/lvgl/ui_data_labels.c +++ b/applications/lvgl/ui_data_labels.c @@ -438,19 +438,35 @@ void UI_pname_row(void) { pname_row = -1; pname_step_row = -1; - // 查询工艺数据 + + // 查询工艺数据和返回行数 db_send_select(DB_CMD_SELECT, select_Program_DATA, 500,select_data_ui); + // 表格绘图 - parse_csv_to_table(guider_ui.screen_pname_row, select_data_ui,0); + int select_row = parse_csv_to_table(guider_ui.screen_pname_row, select_data_ui,0); lv_table_set_col_width(guider_ui.screen_pname_row, 0, 430); lv_table_set_col_width(guider_ui.screen_pname_row, 1, 80); lv_table_set_col_width(guider_ui.screen_pname_row, 2, 200); + rt_kprintf("row : %d\n",select_row); + if(select_row >0 && select_row <255) + { + //有多少工艺 + char name_select_row[8] = {0}; + rt_snprintf(name_select_row, sizeof(name_select_row),"%d/255",select_row-1); + lv_label_set_text(guider_ui.screen_step_,name_select_row); + }else{ lv_label_set_text(guider_ui.screen_step_,"---/255");} } // void UI_pname_step_row(char* str_data) { pname_step_row = -1; + + //工艺名显示输入框 + char name_data[64] = {0}; + rt_snprintf(name_data, sizeof(name_data),"工艺:%s",str_data); + lv_textarea_set_text(guider_ui.screen_pname_set,(const char *)name_data); + // 查询工艺数据 rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s'%s' ORDER BY Step ASC;",select_ProgramSteps_DATA,str_data); db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);