Tree与ListView相结合使用,listView分页显示数据 数据分页显示就是用DataSet缓存,当前页显示的内容是通过当前所在页和每页显示条数从DataSet中提取要显示的内容,copy到另一个DataSet中。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢大家的关注,To wzq6511:private void tvwMain_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e) { DataRow[] rows = null; string sort = "sendDate desc"; if(this.conMnuBoxEmail.Checked) { if(this.tvwMain.SelectedNode.Parent != null) { string tag = this.tvwMain.SelectedNode.Tag.ToString(); string filter = "1>2"; if(tag.Equals(MailBoxTag.ReceptBox.ToString())) //收件箱 { filter = string.Format("MailAccountID = '{0}' and MailBoxTag = '{1}'",this.tvwMain.SelectedNode.Parent.Tag,tag); } rows = this.dtMail.Select(filter,sort); } if(rows.Length > 0) Init_LvwMain(rows); } } private void Init_LvwMain(DataRow[] rows) { lvwEMail.BeginUpdate(); ListViewItem lst; this.lvwEMail.Items.Clear(); foreach(DataRow row in rows) { lst = new ListViewItem( ); lst.Tag = row[Mail._MessageID].ToString(); lst.SubItems.Add(addresserAttn.ToString()); lst.SubItems.Add(row[Mail._Addressee].ToString()); lst.SubItems.Add(row[Mail._Subject].ToString()); lst.SubItems.Add(row[Mail._SendDate].ToString()); lst.SubItems.Add(row[Mail._MailBig].ToString()); this.lvwEMail.Items.Add(lst); } lvwEMail.EndUpdate(); }由上面的代码可以看到 dtMail 就前面数据源分析中的"E"表.这里是没有用到DataSet数据集.而是从dtMail表中依条件过滤出来得到的DataRow[] rows来循环把数据Add到lveEMail中. 补充一点我用的是 .NET Framework 1.1 版本 VS2003.NET,请不要告诉我用.NET Framework 2.0 里面的Virtual Listview. ASP.NET 用户登录信息存储在静态类中合适吗? C# 如何设定某几个时间段? 求教关于SQL触发器的最基本的语法规则(VS200C#语言)的问题! ASP.NET系统中没有工程文件要怎么添加 我执行添加列时,为什么dataGridView里显示已添加,但数据库里的表并没有添加? XenoCode 混淆后, 智能提示出现 16进制字串,怎么办?? 大哥求救!!!!! 怎么得到当前日期的前一周? 关于foreach.................... 求救.. 数据库 外包栏看到:查询时分类统计与排重模块外包?大家谈谈如果是你能做得出来吧? 鼠标圈选问题?
{
DataRow[] rows = null;
string sort = "sendDate desc";
if(this.conMnuBoxEmail.Checked)
{
if(this.tvwMain.SelectedNode.Parent != null)
{
string tag = this.tvwMain.SelectedNode.Tag.ToString();
string filter = "1>2";
if(tag.Equals(MailBoxTag.ReceptBox.ToString())) //收件箱
{
filter = string.Format("MailAccountID = '{0}' and MailBoxTag = '{1}'",this.tvwMain.SelectedNode.Parent.Tag,tag);
}
rows = this.dtMail.Select(filter,sort);
}
if(rows.Length > 0)
Init_LvwMain(rows);
}
} private void Init_LvwMain(DataRow[] rows)
{
lvwEMail.BeginUpdate();
ListViewItem lst;
this.lvwEMail.Items.Clear();
foreach(DataRow row in rows)
{
lst = new ListViewItem( );
lst.Tag = row[Mail._MessageID].ToString();
lst.SubItems.Add(addresserAttn.ToString());
lst.SubItems.Add(row[Mail._Addressee].ToString());
lst.SubItems.Add(row[Mail._Subject].ToString());
lst.SubItems.Add(row[Mail._SendDate].ToString());
lst.SubItems.Add(row[Mail._MailBig].ToString());
this.lvwEMail.Items.Add(lst);
}
lvwEMail.EndUpdate();
}由上面的代码可以看到 dtMail 就前面数据源分析中的"E"表.这里是没有用到DataSet数据集.而是从dtMail表中依条件过滤出来得到的DataRow[] rows来循环把数据Add到lveEMail中.