谁能在hi上给讲解一下listview的相关问题,谢谢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁能在hi上给讲解一下listview的相关问题,谢谢相关的知识,希望对你有一定的参考价值。
如题,listview中的控件
这是我有时间会看一眼的!你look一下,看有帮助没c#的ListView是Windows应用程序中经常用到;
这里是其一个比较简单的用法;
其中:ListView为:eListView;
用法如下所示:
//程序初始设置其基本属性,注释如下,并用loadData()得到其显示内容;
//设置eListView的基本属性
//loadData()函数得到表项,并显示
private void EmailForm_Load(object sender, System.EventArgs e)
eListView.GridLines = true ;//显示各个记录的分隔线
eListView.FullRowSelect = true ;//要选择就是一行
eListView.View = View.Details ;//定义列表显示的方式
eListView.Scrollable = true ;//需要时候显示滚动条
eListView.MultiSelect = false ; // 不可以多行选择
eListView.HeaderStyle = ColumnHeaderStyle.Clickable;
loadData();
//***********************得到数据集并绑定到rListView控件************/
//清空eListView
//设置表头。
//执行数据库查询操作,得到表中所要显示的数据
//数据按行绑定到eListView
/*********************************************************************/
private void loadData()
this.eListView.Clear();
// 针对数据库的字段名称,建立与之适应显示表头
eListView.Columns.Add ( "序号" , 50, HorizontalAlignment.Center ) ;
eListView.Columns.Add ( "用户名" , 60 , HorizontalAlignment.Center ) ;
eListView.Columns.Add ( "邮件地址" , 150 , HorizontalAlignment.Center ) ;
eListView.Visible = true ;
string strSql = string.Format("select name,mailbox from mail ");
DBConnection dbcon = new DBConnection();
IDataReader read = dbcon.getRead(strSql);
int i =0;
while(read.Read())
i ++;
ListViewItem Item = new ListViewItem ( ) ;
Item.SubItems.Clear ( ) ;
Item.SubItems[0].Text = i.ToString() ;
Item.SubItems.Add ( read.GetString(0)) ;
Item.SubItems.Add ( read.GetString(1)) ;
eListView.Items.Add ( Item ) ;
dbcon.close();//关闭数据库链接
通过以上就可以得到相应的数据,并显示到ListView中;
以下函数是对ListView双击取数据的一个例子:
//依据事件索引和对应的列数,把相关的内容对应的显示在相关TextBox控件中
private void eListView_SelectedIndexChanged(object sender, System.EventArgs e)
if(this.eListView.SelectedItems.Count >0)
this.tbName.Text = eListView.SelectedItems[0].SubItems[1].Text;
this.tbEmail.Text = eListView.SelectedItems[0].SubItems[2].Text;
您正在看的C#.NET教程是:在Visual C#中用ListView显示数据记录。em.Data.OleDb ;
class MainForm : Form
// 定义数据连接的字符串
private static string strConnect = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " +
Application.StartupPath + "\\MY.MDB" ;
private OleDbConnection conConnection = new OleDbConnection ( strConnect ) ;
private ListView lv ;
public MainForm ( )
// 初始化Form
this.Left = 0 ;
this.Top = 0 ;
this.Text = "在ListView中显示数据库内容!" ;
// 初始化ListView
lv = new ListView ( ) ;
lv.Left = 0 ;
lv.Top = 0 ;
lv.Width = 700 ;
lv.Height = this.ClientRectangle.Height ;
lv.GridLines = true ; file://显示各个记录的分隔线
lv.FullRowSelect = true ; file://要选择就是一行
lv.View = View.Details ; file://定义列表显示的方式
lv.Scrollable = true ; file://需要时候显示滚动条
lv.MultiSelect = false ; // 不可以多行选择
lv.HeaderStyle = ColumnHeaderStyle.Nonclickable ;
// 针对数据库的字段名称,建立与之适应显示表头
lv.Columns.Add ( "姓名" , 60 , HorizontalAlignment.Right ) ;
lv.Columns.Add ( "住宅电话" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "办公电话" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "移动电话" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "居住地点" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "工作单位" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "电子邮件" , 100 , HorizontalAlignment.Left ) ;
lv.Visible = true ;
OleDbDataReader reader ;
string strCommand = "SELECT * FROM Persons" ;
this.conConnection.Open ( ) ;// 打开数据连接
OleDbCommand cmd = new OleDbCommand ( strCommand , conConnection ) ;
reader = cmd.ExecuteReader ( ) ;//获得数据集
// 不断往列表中添加数据记录
while ( reader.Read ( ) )
ListViewItem li = new ListViewItem ( ) ;
li.SubItems.Clear ( ) ;
li.SubItems[0].Text = reader["name"].ToString ( ) ;
li.SubItems.Add ( reader["HomePhone"].ToString ( ) ) ;
li.SubItems.Add ( reader["WorkPhone"].ToString ( ) ) ;
li.SubItems.Add ( reader["MobilePhone"].ToString ( ) ) ;
li.SubItems.Add ( reader["City"].ToString ( ) ) ;
li.SubItems.Add ( reader["Address"].ToString ( ) ) ;
li.SubItems.Add ( reader["Email"].ToString ( ) ) ;
lv.Items.Add ( li ) ;
reader.Close ( ) ; // 关闭数据集
// 在Form中添加此列表
this.Controls.Add ( lv ) ;
// 关闭Form的时候,同时也关闭数据连接
this.Closed+=new EventHandler ( this_Closed ) ;
protected void this_Closed ( object sender , EventArgs eArgs )
this.conConnection.Close ( ) ; file://关闭数据连接
public static void Main ( )
Application.Run ( new MainForm ( ) ) ;
在成功编译了上面源程序代码以后,在同一目录下建立一个Acess 2000的数据库,命名为MY.MDB,然后在其中建立一张数据表,字段如下:name,HomePhone,WorkPhone,MobilePhone,City,Address,Email。 参考技术A HitTest方法(ListView, TreeView控件),StartLabelEdit方法,FindItem方法(ListView控件),GetFirstVisible方法,SetFocus方法,Drag方法,Move方法,ZOrder方法,ShowWhatsThis方法,OLEDrag方法(ActiveX控件),Refresh方法(ActiveX控件)。
常用方法:
Add 方法 (ListItems、 ColumnHeaders)、ListItems 属性、SubItems 属性示例
下面的示例使用 Biblio.mdb 数据库作为资源,通过 ListItem 对象移居 ListView 控件。要试用此例,请将一个 ListView 控件放置在窗体上,并将代码粘贴到窗体的声明部分。
还必须确保已将 Biblio.mdb 安装在机器上。在以下代码中检查 OpenDatabase 函数中的路径,并改变它,使之反映 Biblio.mdb 在机器上的实际路径。
注意 除非添加到 Microsoft DAO 3.5 对象库的“引用”,否则示例无法运行。为此,在 Project 菜单上单击 References。搜索 Microsoft DAO 3.5 对象库并单击复选框来选择。
Private Sub Form_Load()
'添加 ColumnHeaders。列宽度等于控件宽度
'除以 ColumnHeader 对象的数目。
ListView1.ColumnHeaders. _
Add , , "Author", ListView1.Width / 3)
ListView1.ColumnHeaders. _
Add , , "Author ID", ListView1.Width / 3, _
lvwColumnCenter
ListView1.ColumnHeaders. _
Add , , "Birthdate", ListView1.Width / 3)
' Set View property to Report.
ListView1.View = lvwReport
'为数据访问对象声明对象变量。
Dim myDb As Database, myRs As Recordset
'设置 Database 为 BIBLIO.MDB 数据库。
' IMPORTANT: the Biblio.mdb must be on your
' machine, and you must set the correct path to
' the file in the OpenDatabase function below.
Set myDb = DBEngine.Workspaces(0) _
.OpenDatabase("c:\Program Files\VB\BIBLIO.MDB")
'设置 recordset 为 "Authors" 表。本回答被提问者采纳 参考技术B 加Q85986928,小段源码+简单讲解追问
加不上
追答错了,是859869258
以上是关于谁能在hi上给讲解一下listview的相关问题,谢谢的主要内容,如果未能解决你的问题,请参考以下文章
dedecms讲解-arc.listview.class.php分析,列表页展示