Solved

How to set cells in datagridview to readonly and BackColor upon construction

Posted on 2013-01-07
9
1,570 Views
Last Modified: 2013-01-19
Hi experts
I'd tried to set some cells in a datagridview to readonly and their BackColor to grey upon construction of a UserControl. But they didn't take effect.

I'd done some searches. It was said that it needs to be done inside "CellBeginEdit". My question is how to get that event to fire as part of the construction. Any other suggestion is welcomed.

Thanks in advance.
0
Comment
Question by:dominicwong
  • 6
  • 2
9 Comments
 
LVL 39

Expert Comment

by:Pratima Pharande
ID: 38753637
check this fro readonly

http://forums.asp.net/t/1072584.aspx/1

    Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
        If e.Row.RowState = DataControlRowState.Edit And (e.Row.RowIndex = 0 Or e.Row.RowIndex = 1) Then
            e.Row.RowState = DataControlRowState.Normal
        End If
0
 
LVL 39

Expert Comment

by:Pratima Pharande
ID: 38753640
0
 

Author Comment

by:dominicwong
ID: 38756969
Thanks pratima_mcs.

I am using C# .NET, and I can't find the equivalent of your suggestion. The two lines I currently have in my code are:
They don't work during construction but can only work during cell edit mode.
dgv.Rows[rowIndex].Cells["columnName"].ReadOnly = true;
dgv.Rows[rowIndex].Cells["columnName"].Style.BackColor = Color.LightGray;
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 

Author Comment

by:dominicwong
ID: 38761216
By the way, my dgv is bound to a DataSource.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 38766690
Can you explain what you mean by "They don't work during construction but can only work during cell edit mode."?
0
 

Author Comment

by:dominicwong
ID: 38769233
What I have is a dgv. This dgv is on a UserControl and is displayed only when a user initiated it (eg. clicking a treenode). ie. at run-time.

This dgv consists of two columns, and is data-binded to a DataSource.
Dependent upon the value on the left-hand side column, the corresponding entry on the right-hand column will be made either editable with a white background, or readonly with a grey background.

What I meant by "don't work during construction" is when user clicks a node to initiate the UserControl construction. It constructs the dgv, creates the data-binding, checks each entry on the left-hand side column and sets the right-hand side column accordingly.
Unfortunately, making them readonly and setting the background color did not take any effect at all.

On the other hand, after it is constructed when I edit a cell on the left-hand side column (eg. changing selection), I could make the corresponding cell on the right-hand side readonly with grey background color.

Your help will be appreciated. Thanks in advance.
0
 

Author Comment

by:dominicwong
ID: 38777024
I'd tried out with a simple example but this one works fine.
Any idea what could cause the setting on the properties BackColor and ReadOnly not to take any effect?
0
 

Accepted Solution

by:
dominicwong earned 0 total points
ID: 38777124
0
 

Author Closing Comment

by:dominicwong
ID: 38796107
It resolved the issue
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question