——此文章摘自《C#高级编程(第
版)》定价
元 特价
元 购买
textQuanAnchor = AnchorStylesTop | AnchorStylesLeft |
AnchorStylesTop;
textQuanSize = new SystemDrawingSize( );
textQuanEnabled = false;
thisControlsAdd(thistextQuan);
thistrackBar = new TrackBar();
trackBarBeginInit();
trackBarDock = DockStyleBottom ;
trackBarLocation = new SystemDrawingPoint( );
trackBarTabIndex = ;
trackBarSize = new SystemDrawingSize( );
trackBarScroll += new SystemEventHandler(thistrackBar_Scroll);
trackBarEnabled = false;
thisControlsAdd(thistrackBar);
}
单击Retrieve按钮后事件处理程序就会从Products表中选择所有的记录并把它们保存到私有数据集ds中
protected void retrieveButton_Click(object sender SystemEventArgs e)
{
retrieveButtonEnabled = false ;
ds = CreateDataSet();
接着绑定两个文本控件
textNameDataBindingsAdd(Text ds
ProductsProductName);
textQuanDataBindingsAdd(Text ds
ProductsQuantityPerUnit);
trackBarMinimum = ;
trackBarMaximum = thisBindingContext[dsProducts]Count ;
textNameEnabled = true;
textQuanEnabled = true;
trackBarEnabled = true;
}
这里有一个记录滚动机制该机制响应TrackBar小图标的移动
protected void trackBar_Scroll(object sender SystemEventArgs e)
{
thisBindingContext[dsProducts]Position = trackBarValue;
}
private DataSet CreateDataSet()
{
string source = server=(local)\\NetSDK; +
uid=QSUser;pwd=QSPassword; +
database=northwind;
string customers = SELECT * FROM Products;
SqlConnection con = new SqlConnection(source);
SqlDataAdapter da = new SqlDataAdapter(customers con);
DataSet ds = new DataSet();
daFill(ds Products);
return ds;
}
static void Main()
{
ApplicationRun(new ScrollingDataBinding());
}
}
在开始检索数据时跟蹤栏的最大位置就设置为记录的个数接着在上面的滚动方法中把Products数据表中BindingContext的位置设置为滚动条的位置这样就可以有效地改变DataTable中的当前记录绑定到当前行上的所有控件(在本例中是两个文本框)就会被更新
本节介绍了如何绑定到各种数据源上例如数组数据表数据视图和各种其他数据容器如何排序和过滤数据节将讨论如何扩展Visual Studio以允许进行数据访问得到与应用程序的更好集成
[] [] [] []