陈力
2023-05-29 9580ef19966b4381216ec863c8c1c333d489f33a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package com.lotaai.canguiayw;
 
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
 
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
 
import com.bin.david.form.core.SmartTable;
import com.bin.david.form.core.TableConfig;
import com.bin.david.form.data.CellInfo;
import com.bin.david.form.data.column.Column;
import com.bin.david.form.data.format.IFormat;
import com.bin.david.form.data.format.bg.IBackgroundFormat;
import com.bin.david.form.data.format.bg.ICellBackgroundFormat;
import com.bin.david.form.data.format.selected.ISelectFormat;
import com.bin.david.form.data.style.FontStyle;
import com.bin.david.form.data.table.TableData;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ScreenUtils;
import com.lotaai.canguiayw.common.SettingConfig;
import com.lotaai.canguiayw.sqllitedb.Order;
import com.lotaai.canguiayw.sqllitedb.SqlliteDbManage;
 
import org.greenrobot.eventbus.EventBus;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
public class SelectFragment extends Fragment {
 
    private View root;
    private Context context;
    private SmartTable setTable;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
 
    @Override
    public void onDestroy() {
        super.onDestroy();
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        if (root == null) {
            root = inflater.inflate(R.layout.framgment_selectorder, container, false);
        }
        context = container.getContext();
        initTableView();
        return root;
    }
 
    public void initTableView(){
        Column<String> gridNo = new Column<>("格子", "gridNo");
        Column<String> orderNo = new Column<>("订单号", "orderNo");
        Column<String> putIntime = new Column<>("放入时间", "putInDate");
        Column<String> takeCode = new Column<>("取餐码", "takeCode");
 
        List<Order> lists = SqlliteDbManage.getInstance().selectOrtdersByState(0);
 
        TableData<Order> tableData = new TableData<Order>("测试表格名字",lists,gridNo, orderNo, putIntime, takeCode);
        //设置数据
        setTable = root.findViewById(R.id.table);
        setTable.getConfig().setShowTableTitle(false);
//        // 设置表格标题名称文字样式
//        setTable.getConfig().setTableTitleStyle(new FontStyle(30, Color.GREEN));
        setTable.getConfig().setMinTableWidth(ScreenUtils.getScreenWidth()-20);
        // 设置表格标题文字样式
        setTable.getConfig().setColumnTitleStyle(new FontStyle(30,Color.WHITE));
 
        IBackgroundFormat backgroundFormat = new IBackgroundFormat() {
            @Override
            public void drawBackground(Canvas canvas, Rect rect, Paint paint) {
                canvas.drawColor(getResources().getColor(R.color.DarkGray));
            }
        };
        setTable.getConfig().setColumnTitleBackground(backgroundFormat);
        // 设置表格主体内容文字样式
        setTable.getConfig().setContentStyle(new FontStyle(30, Color.WHITE));
//        setTable.setZoom(true,1,0.5f);                     //开启缩放功能
        setTable.getConfig().setShowXSequence(false);      //去掉表格顶部字母
        setTable.getConfig().setShowYSequence(false);      //去掉左侧数字
 
        // 设置表格主标题
        setTable.setTableData(tableData);
        clickDetail();
    }
 
    public void clickDetail(){
        if (setTable!=null){
            setTable.getTableData().setOnRowClickListener(new TableData.OnRowClickListener() {
                @Override
                public void onClick(Column column, Object o, int col, int row) {
                 LogUtils.i("click row "  + row);
                 final int rr = row;
                    setTable.getConfig().setContentCellBackgroundFormat(new ICellBackgroundFormat<CellInfo>() {
                        @Override
                        public void drawBackground(Canvas canvas, Rect rect, CellInfo cellInfo, Paint paint) {
                            if(cellInfo.row!=rr){
                                paint.setColor(Color.GRAY);
                            }
                            else{
                                paint.setColor(Color.BLUE);
                            }
                            canvas.drawRect(rect,paint);
                        }
 
                        @Override
                        public int getTextColor(CellInfo cellInfo) {
                            return 0;
                        }
                    });
                }
            });
        }
    }
}