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.

Column Style

Thread ID:

Created:

Updated:

Platform:

Replies:

3626 Mar 31,2003 04:45 AM Apr 1,2003 06:07 AM Windows Forms 5
loading
Tags: GridControl
Barbara Arz
Asked On March 31, 2003 04:45 AM

Hi! I'ld like to set a format (or alignment, or...) to a column. (grid.ColStyles[3].Format = "0.000";) If i am working with an virual grid, this does not work, because the parameter e of the method grid_QueryCellInfo gives me an object, in which nothing of these informations are stored in. It is also not possible to set a hole style (e.Style = grid.ColStyles[3]). So what can I do, if I don't want to set every single property in QueryCellInfo? Thanks for help in advance Barbara

Administrator [Syncfusion]
Replied On March 31, 2003 06:20 AM

Setting ColStyles probably should work for you. Make sure in your SaveCellInfo, you are only setting e.Handled when e.ColIndex and e.RowIndex are greater than zero. If you always set it, then your Colstyles will not get saved when you set them in code. (Note, our VirtualGridTutorial Sample does always set e.Handled in SaveCellInfo, but it does not try to use ColStyles either. We will change that....)

Barbara Arz
Replied On March 31, 2003 07:49 AM

Well, I tried it out: It is not necessary to implement SaveCellInfo. But it works if I set e.Handled = true; in QueryCellInfo if row and column are > 0. But what will happen, if I change the values of row=0 or col=0? Beside this: for what do I have to set e.Handled = true? It also works without doing that. Here I found another funny behavior: The text will be correctly written to the cells, but the color of the text will be set for all cells in the grid. Is this a bug or a feature? grid_QueryCellInfo(...) { if (e.RowIndex>4 && e.ColIndex >6 ) { e.Style.CellValue = "gg"; e.Style.TextColor = System.Drawing.Color.DarkKhaki; }

Administrator [Syncfusion]
Replied On March 31, 2003 08:54 AM

Checking for e.RowIndex > -1 and e.ColIndex > -1 will work. When the e.RowIndex is passed in as -1, the style that is being populated is the ColStyles[e.ColIndex]. When e.ColIndex is -1, the style being populated is the RowStyles[e.RowIndex]. So, if you want to set e.Style for e.RowIndex = == 0 or e.ColIndex == 0, then that should not affect these ColStyles request. Setting e.Handled = true tells the grid not to look further for any style information. For example, if you set e.handled = true for e.RowCol==-1, then any ColStyles you tried to save with an indexer will be skipped. If you are in a GridDataBoundGrid, then trying to get the value from the datasource would not happen if you set e.handled = true. I tried you code snippet in the VirtGridTutorial and did not see the problem you described with the TextColor. Can you post a sample project showing the problem?

Barbara Arz
Replied On April 1, 2003 12:38 AM

Hi! Well it works now! Attached I send you the sample with the textcolor problem. For what stands RowIndex=-1? Best regards Barbara

Administrator [Syncfusion]
Replied On April 1, 2003 06:07 AM

> Hi! > Well it works now! > > Attached I send you the sample with the textcolor problem. > For what stands RowIndex=-1? > > Best regards > Barbara Barbara, the -1 indicates that QueryCellInfo asks for column, row or table style. Row -1, Col -1 means table style. Row -1, Col >= 0 means column style. Row >= 0, Col -1 means row style. In your sample code: private void gridControl1_QueryCellInfo(object sender, Syncfusion.Windows.Forms.Grid.GridQueryCellInfoEventArgs e) { if (e.RowIndex<=_values.GetUpperBound(0) && e.RowIndex>=0 && e.ColIndex <= _values.GetUpperBound(1) && e.ColIndex>=0 ) { e.Style.CellValue = _values[e.RowIndex, e.ColIndex]; } else { e.Style.CellValue = "gg"; e.Style.TextColor = System.Drawing.Color.DarkKhaki; } if (e.ColIndex >= 0 && e.RowIndex >= 0) { e.Handled = true; } } The else branch is excecuted for TableStyle, row styles and column styles. Therefore all cells will be DarkKhaki. Best would be to add at the beginning of your handler following code: if (e.ColIndex < 0 || e.RowIndex < 0) { // do nothing ... return; } Stefan

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.

;