111,120
社区成员
发帖
与我相关
我的任务
分享
#region 用多线程测试
delegate void SetVisibleDelegate();
Thread DataViewsThread;
DataSet DataViewsSet = new DataSet();
private void BindThread()
{
//Control.CheckForIllegalCrossThreadCalls = false;
ThreadStart bind = new ThreadStart(SetDataGridView);
DataViewsThread = new Thread(bind);
DataViewsThread.Start();
}
private void CheckIsIn()
{
if (this.InvokeRequired)
{
SetVisibleDelegate d = new SetVisibleDelegate(BindThread);
this.Invoke(d);
//this.DataViews.Invoke(d);
}
else
{
BindThread();
}
}
private void SetDataGridView() //控件操作
{
DataViewsSet = oraCls.createView(dateTimePicker1.Value.ToString("yyyyMMdd"), dateTimePicker2.Value.ToString("yyyyMMdd"), myFilter());//, bindingNavigator1);
DataViews.AutoGenerateColumns = true;
DataViews.DataSource = DataViewsSet.Tables[0];
for (int i = 0; i < DataViews.Columns.Count; i++)
{
DataViews.Columns[i].HeaderCell.Style.WrapMode = DataGridViewTriState.False;
}
//将字段名写入listBox
for (int j = 0; j < DataViews.ColumnCount; j++)
LstBx_All.Items.Add(DataViews.Columns[j].Name);
DataViews.Refresh();
LB_Count.Text = "记录数:" + (DataViews.RowCount - 1).ToString();
}
#endregion