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. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback


Thread ID:





2670 Feb 7,2003 07:37 AM UTC Mar 8,2003 09:22 PM UTC WinForms 14
Tags: GridControl
Barbara Arz
Asked On February 7, 2003 07:37 AM UTC

I tried to use the Method PopulateHeaders, but all that is shown is the word "Value" at position 0. Does this Method only work for ColumnHeaders or also for RowHeaders? How does it work? Thanks for help in Advance! Barbara

Administrator [Syncfusion]
Replied On February 7, 2003 08:54 AM UTC

This method will not work with the GridDataBoundGrid, but should work with a GridControl. For a GridDataBoundGrid, you set the header text with the GridBouondColumn.HeaderText property. So, if you have explicitly added GridBoundColumsn to your grid, you woul duse code such as: this.gridDataBoundGrid.GridBoundColumns[col].HeaderText = "MyHeader"; if you have not explicitly added columns, you can use this.gridDataBoundGrid.Binder.InternalColumns[col].HeaderText = "MyHeader"; If you are trying the PopulatHeaders with a gridcontrol, can you post some more information about the datasource and the code you are using?

Barbara Arz
Replied On February 10, 2003 05:40 AM UTC

I am using the gridControl. This is the code I wrote: string[] _header = new string [] {"Heat","Status","Cast"}; grid.PopulateHeaders(GridRangeInfo.Cells(0,0,1,3),_header); Whats wrong? Barbara

Administrator [Syncfusion]
Replied On February 10, 2003 10:18 AM UTC

Try grid.PopulateHeaders(GridRangeInfo.Cells(0,1,0,3),_header);

Barbara Arz
Replied On February 10, 2003 11:56 AM UTC

no,no! I am sorry, but this neither works! I am helpless! Barbara

Administrator [Syncfusion]
Replied On February 10, 2003 06:56 PM UTC

Barbara, the PopulateValues method only works for column headers, not row headers. What you can do instead is simply set the cell value for the row header Example: myGrid[rowIndex, 0].Text = "Row Header Text" myGrid[rowIndex+1, 0].Text = "Row Header Text2" etc. Stefan

Barbara Arz
Replied On February 11, 2003 05:50 AM UTC

Yes, but how does ist work. Can you write 2 lines of code, which are working correct and is using the function PopulateHeader? For what is the GridRangeInfo parameter needed in this function? Barbara

Administrator [Syncfusion]
Replied On February 11, 2003 03:37 PM UTC

The intention is that if you have for example a DataTable you can call PopulateValues to populate the values of the table into a certain range of cells within the grid. The PopulateHeaders method can then be used to populate the field names into a range of cells above as headers. So the range info specifies where the fieldnames of the datasource should be copied to. Attached find a sample project. Instead of a custom collection you could also use a DataTable as datasource. Stefan

Replied On March 7, 2003 07:19 AM UTC

This does not work for me. I cannot set the text for the row headers. I mean, it does not error, just does not do anything. > Example: > > myGrid[rowIndex, 0].Text = "Row Header Text" > myGrid[rowIndex+1, 0].Text = "Row Header Text2" > etc. > > Stefan

Administrator [Syncfusion]
Replied On March 7, 2003 07:35 AM UTC

That code should work for a GridControl, but will not work for a GridDataBoundGrid. If something is not in your DataSource, you cannot use an indexer to get/set it in a GridDataBoundGrid. And RowHeaders are normally not in a DataSource. To set row headers in a GridDataboundGrid, you can handle the PrepareViewStyleInfo event, and when e.ColIndex = 0, set e.Style.Text to the header you want to see for the row specified in e.RowIndex.

Replied On March 7, 2003 08:26 AM UTC

Yes, it is a databound grid. You should emphasize these type of info in your doc. But it still does noy works: private void dg_PrepareViewStyleInfo(object sender, Syncfusion.Windows.Forms.Grid.GridPrepareViewStyleInfoEventArgs e) { if (e.ColIndex == 0) e.Style.Text = "Test"; } It works for the first row, which is the column header and irrelevant, but does not work for other rowheaders. Pal

Administrator [Syncfusion]
Replied On March 7, 2003 12:17 PM UTC

Oops. The GridDataBoundGrid uses a special row header cell to display the record position icon in the header cell. This particular celltype ignores any text that is set in the style. So, to see your header text, you would also have to change the celltype as well. Try this code.
private void gridDataBoundGrid1_PrepareViewStyleInfo(object sender, Syncfusion.Windows.Forms.Grid.GridPrepareViewStyleInfoEventArgs e)
	if(e.ColIndex == 0 && e.RowIndex > 0)
		e.Style.CellType = "Header";
		e.Style.Text = string.Format("row{0}", e.RowIndex);

Replied On March 7, 2003 01:13 PM UTC

Thanks, it works finally. Actually I tried this , but on the form onload, which was quite useless... I tried this after realising that changing the celltype in the designer does not actually changes the rowheader celltype... While we are here, how I can extract the display info of a cell which has griddropdownlist type, because cellvalue and text gives back the underlying valuemember value, not the text which is displayed on the screen?

Administrator [Syncfusion]
Replied On March 7, 2003 01:46 PM UTC

Try the GridStyleInfo.FormattedText property.

Pal Koncsik
Replied On March 8, 2003 09:22 PM UTC

Thanks, this is what I call customer support. This beats hands down Infragistic and other grid products I had been trying recently.


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.

Please sign in to access our forum

This page will automatically be redirected to the sign-in page in 10 seconds.

Warning Icon 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.Close Icon

Live Chat Icon For mobile
Live Chat Icon