没有合适的资源?快使用搜索试试~ 我知道了~
首页Android自定义DataGridView数据表格控件
Android自定义DataGridView数据表格控件
18 下载量 188 浏览量
更新于2023-03-16
评论 1
收藏 42KB PDF 举报
主要介绍了Android自定义DataGridView数据表格控件的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源详情
资源评论
资源推荐
Android自定义自定义DataGridView数据表格控件数据表格控件
主要介绍了Android自定义DataGridView数据表格控件的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以
参考一下
我是一个.net程序员,但是苦于公司要求开发一个android app,没办法,只能硬着头皮上了。
由于项目里面很多地方需要用到数据显示控件(类似于.net的DataGridView),度娘找了下发现没人公开类似的控件,没办法
只好自己写了。
废话不多说,直接贴代码:
public class DataGridView extends HorizontalScrollView {
private List<DataGridViewColumn> columns;
private List<Map<String,String>> rows;
private boolean hasHeader;
private CellClickListener cellClickListener;
private RowClickListener rowClickListener;
private RowValidatorListener rowValidatorListener;
private LinearLayout headerRow;
private LinearLayout bodyRow;
public DataGridView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DataGridView);
hasHeader = a.getBoolean(R.styleable.DataGridView_hasHeader, true);
a.recycle();
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout container = (LinearLayout) inflater.inflate(R.layout.ctrl_data_grid_view, null, false);
addView(container);
this.columns = new ArrayList<DataGridViewColumn>();
this.rows = new ArrayList<Map<String,String>>();
headerRow = new LinearLayout(getContext());
headerRow.setOrientation(LinearLayout.HORIZONTAL);
headerRow.setBackgroundResource(R.drawable.datagrid_header_background);
headerRow.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
if (hasHeader){
container.addView(headerRow);
}
ScrollView scrollView = (ScrollView)inflater.inflate(R.layout.ctrl_data_grid_view_scroll, container, false);
bodyRow = (LinearLayout) inflater.inflate(R.layout.ctrl_data_grid_view, scrollView, false);
scrollView.addView(bodyRow);
container.addView(scrollView);
}
public void addColumn(String dataField, String headerText){
this.addColumn(dataField, headerText, 200);
}
public void addColumn(String dataField, String headerText, int columnWidth){
this.addColumn(dataField, headerText, columnWidth, Gravity.START);
}
public void addColumn(String dataField, String headerText, int columnWidth, int textAlign){
this.addColumn(dataField, headerText, columnWidth, textAlign, Color.rgb(80, 80, 80));
}
public void addColumn(String dataField, String headerText, int columnWidth, int textAlign, int textColor){
this.addColumn(dataField, headerText, columnWidth, textAlign, textColor, true);
}
public void addColumn(String dataField, String headerText, int columnWidth, int textAlign, int textColor, boolean isEnabled){
DataGridViewColumn column = new DataGridViewColumn();
column.dataField =dataField;
column.headerText = headerText;
column.columnWidth = columnWidth;
column.textAlign = textAlign;
column.textColor = textColor;
column.isEnabled = isEnabled;
this.addColumn(column);
}
public void addColumn(DataGridViewColumn column){
columns.add(column);
insertColumn(column);
weixin_38584148
- 粉丝: 10
- 资源: 1000
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0