动态画表格 并填充数据

//页面加载时填充表格

function addHtml()

{

var inpId = 1;

for(i=0;i<document.getElementById("tbl_sub").firstChild.childNodes.length;i++)

{

var che = document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(0).innerText;

//alert(che);

if(parseInt(che) != 777)

{

document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(3).innerHTML = "<input id=subinput"+inpId+" οnclick=getData(this) style=width:50px type=text  />"; inpId++;

document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(4).innerHTML = "<input id=subinput"+inpId+" οnclick=getData(this) style=width:50px type=text  />"; inpId++;

document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(5).innerHTML = "<input id=subinput"+inpId+" οnclick=getData(this) style=width:110px type=text  />"; inpId++;

}

}

}

//填充表格数据

function addData()

{

//获取数据源,新增时为空

var dbstr =  document.getElementById("input036").value;

//alert(dbstr);

if(dbstr != "")

{

var T_db = dbstr.split('|');

var T = 0;

for(i=0;i<document.getElementById("tbl_sub").firstChild.childNodes.length;i++)

{

var che = document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(0).innerText;

//alert(che);

if(parseInt(che) != 777)

{

document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(3).firstChild.value = T_db[T]; T++;

document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(4).firstChild.value = T_db[T]; T++;

document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(5).firstChild.value = T_db[T]; T++;

}

}

}

}

 

//获取表格数据,回写数据库

function getData(src)

{

var str_data = "";

for(i=0;i<document.getElementById("tbl_sub").firstChild.childNodes.length;i++)

{

var che = document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(0).innerText;

if(parseInt(che) != 777)

{

str_data = str_data + document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(3).firstChild.value;

str_data = str_data + "|" + document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(4).firstChild.value;

str_data = str_data + "|" + document.getElementById("tbl_sub").firstChild.childNodes(i).childNodes(5).firstChild.value;

str_data = str_data + "|";

}

}

document.getElementById("input036").innerText = str_data.substring(0,str_data.length-1);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WPF(Windows Presentation Foundation)是微软公司开发的一种用于创建Windows应用程序的框架。其动态表格缓存功能可以提高应用程序的性能和响应速度。 动态表格缓存是一种机制,用于在WPF应用程序中缓存和重复使用重复性控件的实例,以避免不必要的资源消耗。在创建表格或列表等控件时,WPF会自动判断是否启用动态表格缓存,并根据需要进行缓存。当用户滚动表格时,WPF会从缓存中重用复用的控件,而不是每次都创建新的实例。这样可以大大减少内存消耗和渲染时间,提高应用程序的性能。 通过启用动态表格缓存,可以提高大型数据集的显示效率。当数据量较大时,创建和销毁大量的控件实例会对应用程序的运行效率产生负面影响。而使用动态表格缓存,只需创建足够数量的控件实例来填充可视区域,然后根据用户滚动的需求动态地重用这些实例。这样不仅减少了控件的创建时间,也避免了频繁创建和销毁控件实例可能引发的内存泄漏问题。 除了提高性能外,动态表格缓存还可以增加用户交互的流畅性。在用户滚动表格时,重用已存在的控件实例可以实现无缝滚动效果,避免了因为频繁创建和销毁控件实例导致的界面闪烁和不流畅的滚动效果。这为用户提供了更好的视觉体验。 总之,启用WPF动态表格缓存可以提高应用程序的性能和响应速度,减少资源消耗,增加用户交互的流畅性。这是一种高效的优化技术,可适用于需要显示大量数据的WPF应用程序。 ### 回答2: WPF是一种用于创建 Windows 应用程序的技术,可以使用 XAML 和 C# 来构建用户界面。在WPF中,可以通过动态表格缓存来提高性能。 表格是WPF中常用的控件之一,用于以表格的形式展示数据。当表格中的数据量很大时,每次对表格进行操作(如刷新、排序、过滤等)都会引起性能问题,导致用户体验不佳。 为了解决这个问题,WPF引入了动态表格缓存的概念。动态表格缓存是一种机制,用于将表格数据暂时存储在内存中,以便在多次操作时可以直接从内存中读取数据,而不需要实际重新加载数据。这样可以大大提高表格操作的速度和响应性。 启用动态表格缓存的方法是通过设置表格的属性来实现。可以设置表格的IsVirtualizing属性为True,这将开启表格的虚拟化功能。虚拟化功能使得表格可以只加载正在显示的那部分数据,而不是全部数据,从而减少了内存的占用。此外,还可以设置表格的VirtualizingPanel.VirtualizationMode属性为Recycling,这将启用表格的循环利用机制,进一步提高性能。 值得注意的是,虽然动态表格缓存可以提高表格的性能,但也有一些限制和注意事项。例如,动态表格缓存对于实时更新的数据可能不适用,因为缓存的数据可能无法及时反映出最新的变化。另外,动态表格缓存的性能提升效果也取决于硬件设备的性能和内存大小。 总之,动态表格缓存是WPF中提供的一种优化表格性能的机制。通过启用动态表格缓存,可以有效地提高表格操作的速度和响应性,从而提升用户体验。 ### 回答3: WPF(Windows Presentation Foundation)是一种用于创建富客户端应用程序的技术,它提供了一种用于构建现代、美观和交互式用户界面的方式。动态表格是WPF中一种常见的UI元素,它允许用户在运行时添加、删除和编辑表格中的行和列。 在WPF中启用动态表格缓存意味着减少表格的滚动时的性能开销。当表格包含大量数据时,滚动可能会变得缓慢,因为WPF需要频繁地重新绘制表格以显示新的行和列。启用表格缓存后,WPF会将表格的内容缓存起来,滚动时只需重新绘制可见部分,从而提高滚动的效率。 要启用动态表格缓存,可以使用WPF的VirtualizingStackPanel来作为表格的ItemsPanel。VirtualizingStackPanel是一种特定的布局容器,它只会在需要显示时才生成UI元素,并且会自动回收已经离开可视区域的元素。这样,当用户滚动表格时,只有可见部分的元素会被创建和显示,而不是整个表格。 在XAML中,可以这样启用表格缓存: ``` <DataGrid> <DataGrid.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel /> </ItemsPanelTemplate> </DataGrid.ItemsPanel> </DataGrid> ``` 通过以上设置,WPF会自动将表格的内容进行缓存,从而提高表格滚动的性能。 总之,通过启用动态表格缓存,可以提高WPF中动态表格的滚动性能。这对于包含大量数据表格来说尤为重要,因为它能够减少不必要的UI元素的创建和绘制,提高用户的交互体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值