第一问:请教DataGridView代码实现数据导航功能!实现四个导航:First,Previous,Next,Last,
另一问:DataGridView在第一列,如果按回车,跳到下一列,如果到最后一列,转行!这两个问题研究很久了哪位老兄帮帮忙,还是没找到答案,晕!高分相送!不够记住ID,下次再给,信誉保证!

解决方案 »

  1.   

    Q1:
    设置pageindex
    Q2:
    比较麻烦,如果是web,就是客户端的javascript了
      

  2.   

    to 第一问:请教DataGridView代码实现数据导航功能!实现四个导航:First,Previous,Next,Last,通过绑定数据源来实现,例如:
    BindingManagerBase bm = yourGridView.BindingContext[yourGridView.DataSource];
    //To first
    bm.Position = 0;//To previous
    bm.Position -= 1;//To next
    bm.Position += 1;//To last
    bm.Position = bm.Count - 1;to 另一问:DataGridView在第一列,如果按回车,跳到下一列,如果到最后一列,转行!How can I make the Enter Key behave like the Tab Key and move to the next cell?
    http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q902q
    这个方法也适合datagridview。
      

  3.   

    另一问:DataGridView在第一列,如果按回车,跳到下一列,如果到最后一列,转行!
    参考我以前回的一篇:
    http://community.csdn.net/Expert/topic/5138/5138798.xml?temp=.3249628
      

  4.   

    第2个问题捕捉keypress的事件,当是enter时就再SendKey个Tab
      

  5.   

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        if(keyData == Keys.Enter)
        {
          System.Windows.Forms.SendKeys.Send("{TAB}");
          return true;
         }
         return base.ProcessCmdKey(ref msg,keyData);}
      

  6.   

    Knight94(愚翁)兄啊,光标定位不到相关记录,怎么办?
      

  7.   

    for (int i = 1; i < dataGridView.RowCount; i++)
     { 
        dataGridView.Rows[i].Selected = false; 

    dataGridView.Rows[1].Selected = true; 
    dataGridView.CurrentCell = dataGridView.Rows[1].Cells[0];
      

  8.   

    public frmAUT101()
            {
                InitializeComponent();
                this.dGVUsers.AutoGenerateColumns = false;
                BindFieldsName();
                txtIDEnabled(false);
                BindUsers();
                DataRows = dGVUsers.Rows.Count - 1;
                //DataCurrentRow = 0;
                bmb = this.dGVUsers.BindingContext[dGVUsers.DataSource];
                bmb.CurrentChanged +=
       new EventHandler(BindingManagerBase_CurrentChanged);            
            }
      

  9.   

    private void BindingManagerBase_CurrentChanged(object sender, EventArgs e)
            {
                MessageBox.Show(bmb.Position.ToString());
            }
            private void frmAUT111_Load(object sender, EventArgs e)
            {        }
            private void BindFieldsName()
            {
                this.dGVUsers.Columns[wiColUserID].DataPropertyName = "UserID";
                this.dGVUsers.Columns[wiColUserName].DataPropertyName = "UserName";
                this.dGVUsers.Columns[wiColUserPassword].DataPropertyName = "Password";
                this.dGVUsers.Columns[wiColUseStatus].DataPropertyName = "UseStatus";
                this.dGVUsers.Columns[wiColSubCorpID].DataPropertyName = "SubCorpID";
                this.dGVUsers.Columns[wiColSubDeptID].DataPropertyName = "SubDeptID";
                this.dGVUsers.Columns[wiColRe].DataPropertyName = "Re";
                this.dGVUsers.Columns[wiColVerNo].DataPropertyName = "VerNo";
            }
      

  10.   

    private void tbCommon_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
            {
                string strOpt = null;            switch (e.ClickedItem.Name)
                {
                    case "tsbNew":
                        ClearContext();
                        txtIDEnabled(true);
                        txtVerNo.Text = Convert.ToString(0);
                        tabControl1.SelectTab(1);
                        break;
                    case "tsbSave":
                        if (txtUserID.Enabled) { strOpt = "I";}
                        else{   strOpt = "U";}
                        if (Fin_Check())
                        {
                            EditUser(strOpt);
                        }
                        break;
                    case "tsbDelete":
                        DialogResult dr = MessageBox.Show("是否要删除这用户?", "管理信息系统", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (dr == DialogResult.Yes)
                        {
                            EditUser("D");
                        }
                        break;
                    case "tsbCancel":
                        ClearContext();
                        txtIDEnabled(false);
                        break;
                    case "tsbFirst":
                        MoveFirst();
                         break;
                    case "tsbPrevious":
                        MovePrevious();
                         break;
                    case "tsbNext":
                        MoveNext();
                         break;
                    case "tsbLast":
                        MoveLast();
                         break;
                    case "tsbSearch":
                         break;
                    case "tsbPreview":
                         break;
                    case "tsbExit":
                        this.Close();
                        break;
                }
            }
      

  11.   

    你这个tbCommon_ItemClicked事件是谁的