winformlistview怎么写入数据,vba listview分页查询
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!
总结了以下几种分列显示二维数组的方法,和大家分享。
一、在listview中分列显示distionary的泛型类的内容。
Dictionary dic= new Dictionary();
listView1.Clear();//清空先前内容
listView1.View= View.Details;//分列显示
listView1.Columns.Add("编号");
listView1.Columns.Add("姓名");
ListViewItem gg= new ListViewItem(new string[]{ee.Key.ToString(),ee.Value});//这是至关重要的一点。
二、在listview中分列显示二维数组
listView1.Columns.Add("姓名");
listView1.Columns.Add("语文");
listView1.Columns.Add("数学");
listView1.Columns.Add("科学");
listView1.Columns.Add("英语");
string[,] chengji= new string[4, 5];
(二)下面是几种分列显示二维数组的几种方法。
for(int i= 0; i< chengji.GetLength(0); i++)
ListViewItem bb= new ListViewItem(new string[]{ chengji[i, 0], chengji[i, 1], chengji[i, 2], chengji[i, 3], chengji[i, 4]});
上面的listview分列显示还可以用下面的方法。
for(int i= 0; i< chengji.GetLength(0); i++)
cj= new ListViewItem(chengji[i,0]);
cj.SubItems.Add(chengji[i, 1]);
cj.SubItems.Add(chengji[i,2]);
cj.SubItems.Add(chengji[i, 3]);
cj.SubItems.Add(chengji[i, 4]);
如果我们把二维数组转化为一维数组(即结合上面两种方法)还可以用下面的方法分列显示。
string[] sstr= new string[chengji.GetLength(1)];
for(int i= 0; i< chengji.GetLength(0); i++)
for(int j= 0; j< chengji.GetLength(1); j++)
通常这也分为两种方式,一种是设置一个按钮,用户点击即加载。另一种是当用户滑动到底部时自动加载。今天我就和大家分享一下这个功能的实现。
首先,写一个xml文件,moredata.xml,该文件即定义了放在listview底部的视图:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="加载更多数据"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
可以看到是一个按钮和一个进度条。因为只做一个演示,这里简单处理,通过设置控件的visibility,未加载时显示按钮,加载时就显示进度条。
写一个item.xml,大家应该很熟悉了。用来定义listview的每个item的视图。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
main.xml就不贴了,整个主界面就一个listview。
直接先看下Activity的代码,在里面实现分页效果。
import android.view.View.OnClickListener;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.SimpleAdapter;
public class MoreDateListActivity extends Activity implements OnScrollListener{
private SimpleAdapter mSimpleAdapter;
private ArrayList<HashMap<String,String>> list;
//设置一个最大的数据条数,超过即不再加载
private int lastVisibleIndex;
/** Called when the activity is first created.*/
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MaxDateNum= 22;//设置最大数据条数
lv=(ListView) findViewById(R.id.lv);
moreView= getLayoutInflater().inflate(R.layout.moredate, null);
bt=(Button) moreView.findViewById(R.id.bt_load);
pg=(ProgressBar) moreView.findViewById(R.id.pg);
//用map来装载数据,初始化10条数据
list= new ArrayList<HashMap<String,String>>();
for(int i= 0; i< 10; i++){
HashMap<String, String> map= new HashMap<String, String>();
map.put("ItemTitle","第"+ i+"行标题");
map.put("ItemText","第"+ i+"行内容");
mSimpleAdapter= new SimpleAdapter(this, list, R.layout.item,
new String[]{"ItemTitle","ItemText"},
new int[]{ R.id.tv_title, R.id.tv_content});
//加上底部View,注意要放在setAdapter方法前
lv.setAdapter(mSimpleAdapter);
lv.setOnScrollListener(this);
bt.setOnClickListener(new OnClickListener(){
pg.setVisibility(View.VISIBLE);//将进度条可见
bt.setVisibility(View.GONE);//按钮不可见
handler.postDelayed(new Runnable(){
loadMoreDate();//加载更多数据
bt.setVisibility(View.VISIBLE);
mSimpleAdapter.notifyDataSetChanged();//通知listView刷新数据
int count= mSimpleAdapter.getCount();
for(int i= count; i< count+ 5; i++){
HashMap<String, String> map= new HashMap<String, String>();
map.put("ItemTitle","新增第"+ i+"行标题");
map.put("ItemText","新增第"+ i+"行内容");
for(int i= count; i< MaxDateNum; i++){
HashMap<String, String> map= new HashMap<String, String>();
map.put("ItemTitle","新增第"+ i+"行标题");
map.put("ItemText","新增第"+ i+"行内容");
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount){
lastVisibleIndex= firstVisibleItem+ visibleItemCount- 1;
//所有的条目已经和最大条数相等,则移除底部的View
if(totalItemCount== MaxDateNum+ 1){
lv.removeFooterView(moreView);
Toast.makeText(this,"数据全部加载完成,没有更多数据!", Toast.LENGTH_LONG).show();
public void onScrollStateChanged(AbsListView view, int scrollState){
//滑到底部后自动加载,判断listview已经停止滚动并且最后可视的条目等于adapter的条目
if(scrollState== OnScrollListener.SCROLL_STATE_IDLE
&& lastVisibleIndex== mSimpleAdapter.getCount()){
// pg.setVisibility(View.VISIBLE);
// bt.setVisibility(View.GONE);
// handler.postDelayed(new Runnable(){
// bt.setVisibility(View.VISIBLE);
// pg.setVisibility(View.GONE);
// mSimpleAdapter.notifyDataSetChanged();
wwW.Xtw.Com.cN系统网专业的PC、手机系统开发下载平台,HarmonyOS系统、安卓、OS、windows电脑重装系统在线下载安装,操作系统平台技术学习,攻略教程,技术交流。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com
相关推荐
-
如何实现windows和linux通信,windows如何共享文件夹给iphone
2024-07-13 09:51:03 -
vs2019怎么运行c语言程序,vs2019使用教程开发c语言
2024-07-13 03:41:37 -
小米电脑bios怎么恢复出厂设置,bios恢复出厂设置后进不了系统
2024-07-12 19:22:56 -
怎样随机切换锁屏壁纸,自动切换壁纸怎么设置
2024-07-12 16:59:51 -
mathtype如何输入空格,mathtype空格怎么输入
2024-05-23 04:09:43 -
在mathtype中如何加粗公式,mathtype怎么整体斜体加粗
2024-05-23 04:06:53