【第十一章 11.2】列表视图控件Listview -- CSV 导入导出

贴主:admin 发贴:2024-08-09 09:11 浏量:13

演示:

代码;

// 导入 win.ui 库,用于创建图形界面
import win.ui;  
// 导入 string.database 库,用于处理 CSV 数据
import string.database;  
// 导入 fsys.dlg 库,用于文件对话框操作
import fsys.dlg;  
/*DSG{{*/
// 创建一个名为 winform 的窗口对象,并设置其属性
var winform = win.form(text="CSV 导入导出示例";right=759;bottom=469)  
// 向窗口中添加控件
winform.add(
    // 添加"导出 CSV"按钮控件,并设置其属性
    btnExport={cls="button";text="导出 CSV";left=597;top=415;right=732;bottom=450;db=1;dr=1;z=3};  
    // 添加"导入 CSV"按钮控件,并设置其属性
    btnImport={cls="button";text="导入 CSV";left=25;top=415;right=160;bottom=450;db=1;dl=1;z=2};  
    // 添加列表视图控件,并设置其属性
    listview={cls="listview";left=51;top=23;right=700;bottom=385;edge=1;z=1}  
)
/*}}*/

// "导入 CSV"按钮的命令事件处理函数
winform.btnImport.oncommand = function(id,event){
    // 打开文件选择对话框,选择要导入的 CSV 文件,并获取文件路径
    var path = fsys.dlg.open("CSV 文件|*.csv||","选择要导入的 CSV 文件");  
    // 如果未选择文件,直接返回
    if(!path) return;  
    // 创建一个用于处理 CSV 数据的对象
    var db = string.database();  
    // 加载指定路径的 CSV 文件数据到一个数据表中
    var dataTable = db.load(path);  
    // 将数据表设置到列表视图控件中
    winform.listview.setTable(dataTable)  
}

// "导出 CSV"按钮的命令事件处理函数
winform.btnExport.oncommand = function(id,event){
    // 从列表视图控件获取数据,并转换为数据表格式
    var dataTable =  winform.listview.getTable(true);  
    // 打开文件保存对话框,选择 CSV 文件的保存位置,并获取文件路径
    var path = fsys.dlg.save("CSV 文件|*.csv||","选择保存位置");  
    // 如果未选择保存位置,直接返回
    if(!path) return;  
    // 创建一个用于处理 CSV 数据的对象
    var csv = string.database();  
    // 将数据表保存为 CSV 文件
    csv.save(path,dataTable);  
    // 弹出消息框提示 CSV 文件导出成功
    winform.msgbox("CSV 文件导出成功!");
}

// 显示窗口
winform.show();  
// 启动界面线程消息循环
win.loopMessage();


相关回复


    暂无评论!

发表回复