SQL数据库通过一个中间件实时接收了数据,我用C#winform怎么能最不耗资源即时显示? 20
1个回答
展开全部
建议你用LISTVIEW,很好用,给你贴一段代码,不过我数据库用的是SQLITE
DataTable dt;//dt是你数据库内调查出的数据
this.listView列表.Items.Clear();
this.listView列表.Columns.Clear();
ListViewItem item = new ListViewItem();
this.listView列表.FullRowSelect = true;
//要选择就是一行
this.listView列表.View = View.Details;
//定义列表显示的方式
this.listView列表.HeaderStyle = ColumnHeaderStyle.Nonclickable;
// 针对数据库的字段名称,建立与之适应显示表头
this.listView列表.Columns.Add("", 0, HorizontalAlignment.Right);
for (int i = 0; i < dt.Columns.Count; i++)
{
this.listView列表.Columns.Add("W" + i.ToString(), 50, HorizontalAlignment.Right);
}
if (dt != null && dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
item = new ListViewItem();
for (int j = 0; j < dt.Columns.Count; j++)
{
try
{
item.SubItems.Add(dt.Rows[i][j].ToString());
}
catch
{
item.SubItems.Add("Eor");
}
}
this.listView列表.Items.Add(item);
}
}
this.listView列表.EndUpdate();
DataTable dt;//dt是你数据库内调查出的数据
this.listView列表.Items.Clear();
this.listView列表.Columns.Clear();
ListViewItem item = new ListViewItem();
this.listView列表.FullRowSelect = true;
//要选择就是一行
this.listView列表.View = View.Details;
//定义列表显示的方式
this.listView列表.HeaderStyle = ColumnHeaderStyle.Nonclickable;
// 针对数据库的字段名称,建立与之适应显示表头
this.listView列表.Columns.Add("", 0, HorizontalAlignment.Right);
for (int i = 0; i < dt.Columns.Count; i++)
{
this.listView列表.Columns.Add("W" + i.ToString(), 50, HorizontalAlignment.Right);
}
if (dt != null && dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
item = new ListViewItem();
for (int j = 0; j < dt.Columns.Count; j++)
{
try
{
item.SubItems.Add(dt.Rows[i][j].ToString());
}
catch
{
item.SubItems.Add("Eor");
}
}
this.listView列表.Items.Add(item);
}
}
this.listView列表.EndUpdate();
追问
即时刷新,不是不会显示!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询