We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

GridRecordNavigationControl

Thread ID:

Created:

Updated:

Platform:

Replies:

16664 Jul 21,2004 11:16 AM Dec 21,2004 03:38 AM Windows Forms 10
loading
Tags: GridControl
Administrator [Syncfusion]
Asked On July 21, 2004 11:16 AM

Hi, I had a GridControl inside GridRecordNavigationControl. Instead of showing current record 1,2,3 when I navigate through each record, I want to show my own text. Is there any function I can override? Thanks. --Shuyang He

Administrator [Syncfusion]
Replied On July 21, 2004 11:58 AM

There is no simple event that you can use to do this currently. It is being drawn in the GridRecordNavigationControl.NavigationBar.OnPaint method, so it is buried pretty deep to get at through virtual overrides. Probably the simplest way to handle this is to put your own label over the display area and just format set it to be what you want. You can keep it is sync using grid.CurrentCellMoved. //set up the label private Label myLabel; private void Form1_Load(object sender, System.EventArgs e) { myLabel = new Label(); Rectangle rect = this.gridRecordNavigationControl1.NavigationBar.ClientRectangle; int width = this.gridRecordNavigationControl1.NavigationBar.ButtonBarChild.Bounds.Width; myLabel.Bounds = new Rectangle(rect.Left, rect.Top, width, rect.Height); myLabel.TextAlign = ContentAlignment.MiddleCenter; this.gridRecordNavigationControl1.NavigationBar.Controls.Add(myLabel); //..... continue on with the existing code... } //handler private void grid_CurrentCellMoved(object sender, GridCurrentCellMovedEventArgs e) { GridControl grid = sender as GridControl; if(grid.CurrentCell.MoveToRowIndex != grid.CurrentCell.MoveFromRowIndex if(this.myLabel != null ) { this.myLabel.Text = string.Format("{0} of {1}", grid.CurrentCell.MoveToRowIndex, grid.Model.RowCount); } } }

Administrator [Syncfusion]
Replied On December 20, 2004 03:26 AM

Hi, I have a similar kind of use in my application. When i used the above code, i faced the following problems: 1)the previous and First arrow button are not visible. 2) I have added label Record 0 of 1, but i am seeing Record 0 of 1 1. I think i am not able to obtain the right coordinates for the label on the navigation control. Please tell me how to resolve this issue.

Administrator [Syncfusion]
Replied On December 20, 2004 04:55 AM

Try this code to see if it works better. myLabel = new Label(); Rectangle rect = this.gridRecordNavigationControl1.NavigationBar.ClientRectangle; Syncfusion.Windows.Forms.InternalButton but = this.gridRecordNavigationControl1.NavigationBar.ButtonBarChild.Buttons[2]; int width = this.gridRecordNavigationControl1.NavigationBar.ButtonBarChild.Bounds.Width; myLabel.Bounds = new Rectangle(rect.Left + but.Bounds.Left, rect.Top, but.Bounds.Left + but.Bounds.Width, rect.Height); myLabel.TextAlign = ContentAlignment.MiddleCenter; this.gridRecordNavigationControl1.NavigationBar.Controls.Add(myLabel);

Administrator [Syncfusion]
Replied On December 20, 2004 05:06 AM

You are nowhere using the width variable. What exactly is the use of obtaining the width value?

Administrator [Syncfusion]
Replied On December 20, 2004 05:19 AM

This code does not work properly.

Administrator [Syncfusion]
Replied On December 20, 2004 06:51 AM

The width is not being used. It was left over form the earlier code posted aboove. Take it out. I may be missing something but I tried the code I posted in the sample we ship and it seemed to work for me using 2.1.0.9. What do you see wrong in this sample? (You may have to change teh datapath in the sample.) http://64.78.18.34/Support/Forums/Uploads/RecordNavDataBoundGrid_CS.zip

Administrator [Syncfusion]
Replied On December 20, 2004 08:58 PM

I am not able to see the new label which i have created. I am seeing the default label. I have seen it in the sample application it is working fine. But I am not able to figure out what could be the problem with my code. I am using the same code. Kindly help.

Administrator [Syncfusion]
Replied On December 21, 2004 12:41 AM

The problem is the bounds for the internalButton But are zero. i.e but.Bounds.Left, but.Bounds.Right, but.Bounds.Width, but.Bounds.Height are all zero. That''s why i am not able to see the new label. I am using Syncfusion 2.1.0.9.

Administrator [Syncfusion]
Replied On December 21, 2004 03:16 AM

Can you upload a sample (or send it to support@syncfusion.com and mention this forum post in the subject line) that shows the problem. Since the sample works for you using 2.1.0.9, I guess the problem is something specific to how you are using the controls as opposed to a version problem.

Administrator [Syncfusion]
Replied On December 21, 2004 03:38 AM

If I set the bounds like this: m_navigationLabel.Bounds = new Rectangle(rect.Left + 40, rect.Top,110 , rect.Height); Then i am able to see the label which i have created. So I am able to resolve this problem.

CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.

;