毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

线程读取本地xml中的数据并在datagridview中展示,数据量大的时候会卡

更新时间:2012-5-16:  来源:毕业论文

我用线程读取本地xml中的数据并在datagridview中展示,数据量大的时候界面会卡。主要代码如下:
  private void PreDelegateLoad()
  {
  WaitCallback preDelegateWaitCallback = new WaitCallback(PreDelegate);
  ThreadPool.QueueUserWorkItem(preDelegateWaitCallback, null);  
  }

  public void PreDelegate(object obj)
  {
  PreDeletageCallback preDelegateCallback = new PreDeletageCallback(dgPreDelegateLoad);
  Invoke(preDelegateCallback);  
  }

  private void dgPreDelegateLoad()
  {
  //读取本地xml,设置datagriadeview的数据源
  dgPreDelegateRefresh();
  for (int i = 0; i < dgPreDelegate.Columns.Count; i++)
  {
  ColItemInfo colItemInfo = (ColItemInfo)preOrderItemInfo.m_htItemInfo[dgPreDelegate.Columns[i].Name];
  if (colItemInfo == null) continue;
  dgPreDelegate.Columns[i].HeaderText = colItemInfo.name;
  dgPreDelegate.Columns[i].MinimumWidth = colItemInfo.width;
  dgPreDelegate.Columns[i].FillWeight = colItemInfo.width;
  dgPreDelegate.Columns[i].DefaultCellStyle.Format = colItemInfo.format;
  if (colItemInfo.sortID == 1)
  {
  dgPreDelegate.Columns[i].SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
  }
  else
  {
  dgPreDelegate.Columns[i].SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
  }
  if (!preOrderItemInfo.m_strItems.Contains(dgPreDelegate.Columns[i].Name)) dgPreDelegate.Columns[i].Visible = false;
  if (i == 0) dgPreDelegate.Columns[i].ReadOnly = false;
  else dgPreDelegate.Columns[i].ReadOnly = true;

[1] [2] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。