可视化怎么移动bindingnavigator控件
/步骤
在winform工程中,打开工具箱,找到bindingnavigator控件,并拖入winform窗体中,这时窗体上出现bindingnavigator控件,窗体下自动生成bindingnavigator控件实例。
依次在窗体上双击bindingnavigator控件的按钮可以切换到按钮点击事件的后台,如果只是做记录的导航,就不必再另外写事件代码。原因嘛,先卖个关子。
在工具箱中,找到DataGridView控件到窗体,这个控件我们是要拿来展示数据的。
调整窗体和DataGridView控件大小
在窗体空白处双击,进入form load事件代码,写下如下代码。代码含义如下:
bs = new BindingSource();//BindingSource对象,用来转换datatable数据源的
bs.DataSource = t.SearchDb;//t.SearchDb是一个有数据的datatable,把/t.SearchDb绑定到bs上
bindingNavigator1.BindingSource = bs;//把数据源绑定在bindingNavigator1上
dataGridView1.DataSource = bs;//把数据源绑定在dataGridView1上
运行工程,查看效果。可以看到bindingNavigator1显示了记录总数和当前记录索引号,dataGridView1显示了绑定的数据
点击向后按钮,可以看到当前记录立刻向后移动到下一条记录
点击移动到最后按钮,可以看到当前记录立刻向后移动到最后一条记录
点击bindingNavigator1上的加号,在dataGridView1最后一行出现编辑框,并且可以编辑数据
选中最后一行,点击bindingNavigator1上的叉号,就删除了选中的行。
现在要解释刚才的卖的关子:虽然我们并没有在bindingNavigator1的按钮事件上添加代码,但是我们把bindingNavigator 和 BindingSource一起使用, bindingNavigator 的这些按钮事件都与BindingSource的方法对应。
C#中的bindingNavigator控件
BindingSource的使用
BindingSource bs = new BindingSource();//声明绑定类
using (SqlConnection conn = new SqlConnection(strConnecion))
{
try
{
conn.Open();//打开联结
SqlCommand comm = conn.CreateCommand();
comm.CommandText = "lect * from Customers";//选择要查找的表
SqlDataAdapter da = new SqlDataAdapter();//声明适配器
DataSet ds = new DataSet();//声明数据集
da.SelectCommand = comm;//将适配器与数据集关连
da.Fill(ds);//将表中数据填入数据集中
bs.DataSource = ds.Tables[0];//将绑定数据源中的数据连接到数据集中去.
dataGridView1.DataSource = bs;//绑定控件dataGridView
bindingNavigator1.BindingSource = bs;//绑定控件bindingNavigator
textBox1.DataBindings.Add("Text", bs, "CompanyName", true);//绑定控件textBox
comboBox1.DataSource = bs;////绑定控件comboBox
comboBox1.DisplayMember = "City";//comboBox前台显示的值
comboBox1.ValueMember = "City";//comboBox后台实际绑定的值
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Clo();
}
c#中bindingNavigator的用法是什么,求示范……
在界面上放入bindingNavigator1,dataGridView1,button1,button2,textBox1控件,加入引用
using System.Data.OracleClient; 没有就自己添加引用
private BindingSource myBindingSource = new BindingSource();
OracleConnection conn = new OracleConnection("Data Source=xxx;Persist Security Info=True;Ur ID=xxx;Password=xxx");
private void Form1_Load(object nder, EventArgs e)
{
string sql3 = "lect * from xxxx ";
OracleCommand cmd3 = new OracleCommand(sql3, conn);
OracleDataAdapter oda = new OracleDataAdapter(cmd3);
DataSet ds = new DataSet();
oda.Fill(ds);
myBindingSource.DataSource = ds.Tables[0]; //绑定数据源
this.bindingNavigator1.BindingSource = myBindingSource; //数据源跟bindingNavigator1控件相连
this.dataGridView1.DataSource = myBindingSource; //数据源跟dataGridView1控件相连
this.textBox1.DataBindings.Add("Text", myBindingSource, "IP");//数据源跟textBox1控件相连
}
private void button1_Click(object nder, EventArgs e)
{
myBindingSource.MoveNext();
}
private void button2_Click(object nder, EventArgs e)
{
myBindingSource.MovePrevious();
}
C#中的bindingNavigator控件
表示窗体上绑定到数据的控件的导航和操作用户界面 (UI)。
命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
将 BindingNavigator 控件添加到窗体并绑定到数据源(例如 BindingSource)时,将自动在此表中建立关系。能使用的控件
移到最前
MoveFirstItem
MoveFirst
前移一步
MovePreviousItem
MovePrevious
当前位置
PositionItem
Current
计数
CountItem
Count
移到下一条记录
MoveNextItem
MoveNext
移到最后
MoveLastItem
MoveLast
新添
AddNewItem
AddNew
删除
DeleteItem
RemoveCurrent
所以其他无关控件基本都不支持了。
VB.net中,BindingNavigator的定位问题
你的思路完全正确
Dim curpos As Integer
curpos = BindingSource1.Position
BindingSource1.Position = curpos