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.

PopulateHeaders

Thread ID:

Created:

Updated:

Platform:

Replies:

2670 Feb 7,2003 02:37 AM Mar 8,2003 04:22 PM Windows Forms 14
loading
Tags: GridControl
Barbara Arz
Asked On February 7, 2003 02:37 AM

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 03:54 AM

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 12:40 AM

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 05:18 AM

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

Barbara Arz
Replied On February 10, 2003 06:56 AM

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

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

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 12:50 AM

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 10:37 AM

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

pal
Replied On March 7, 2003 02:19 AM

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 02:35 AM

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.

pal
Replied On March 7, 2003 03:26 AM

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 07:17 AM

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);
	}
}

pal
Replied On March 7, 2003 08:13 AM

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 08:46 AM

Try the GridStyleInfo.FormattedText property.

Pal Koncsik
Replied On March 8, 2003 04:22 PM

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

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.

;