473,503 Members | 2,142 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Partially "ReadOnly" windows form datagrid

Hi everyone,

I'm not entirely sure if this is the best way of going about it, but here's
the scenario..........

I have two datagrid, each bound to a datatable which have checkbox columns.
There are two buttons between the datagrids, "Add" and "Remove". They
basically remove rows from one grid to the other, only those with the
checkbox ticked.

The problem is I don't want users to add new rows, or alter any of the
columns except for the checkbox column. Is this possible? Or perhaps is
there a better way of selecting multiple rows and working with them? I
realise I have to work with the underlying datasources, *not* the datagrids
themselves, but damn if I know how to go about it.

It's been bugging me all weekend. Any suggestions would be greatly
appreciated.

Cheers,
Dany.
Nov 21 '05 #1
4 2040
> The problem is I don't want users to add new rows, or alter any of the
columns except for the checkbox column. Is this possible?
Create a DataGridTableStyle set your column to read only

Or perhaps is there a better way of selecting multiple rows and working with them? I
realise I have to work with the underlying datasources, *not* the
datagrids
themselves, but damn if I know how to go about it.

It's been bugging me all weekend. Any suggestions would be greatly
appreciated.

Cheers,
Dany.


Nov 21 '05 #2
Hi,

To prevent the user from adding a new row set the
datatables.defaultview.allownew = false.

http://msdn.microsoft.com/library/de...ownewtopic.asp

To make a column readonly set the datagridtextbox column readonly
property to false.

http://msdn.microsoft.com/library/de...donlytopic.asp

Ken
------------------------
"Dany P. Wu" <da**@nospam.quicksilver.net.nz> wrote in message
news:10***************@drone1-svc-skyt.qsi.net.nz...
Hi everyone,

I'm not entirely sure if this is the best way of going about it, but here's
the scenario..........

I have two datagrid, each bound to a datatable which have checkbox columns.
There are two buttons between the datagrids, "Add" and "Remove". They
basically remove rows from one grid to the other, only those with the
checkbox ticked.

The problem is I don't want users to add new rows, or alter any of the
columns except for the checkbox column. Is this possible? Or perhaps is
there a better way of selecting multiple rows and working with them? I
realise I have to work with the underlying datasources, *not* the datagrids
themselves, but damn if I know how to go about it.

It's been bugging me all weekend. Any suggestions would be greatly
appreciated.

Cheers,
Dany.

Nov 21 '05 #3
"Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
news:%2****************@TK2MSFTNGP15.phx.gbl...
Hi,
To prevent the user from adding a new row set the
datatables.defaultview.allownew = false.
http://msdn.microsoft.com/library/de...n-us/cpref/htm
l/frlrfsystemdatadataviewclassallownewtopic.asp To make a column
readonly set the datagridtextbox column readonly property to false.
http://msdn.microsoft.com/library/de...n-us/cpref/htm
l/frlrfsystemwindowsformsdatagridtextboxcolumnclassr eadonlytopic.asp Ken


Thanks, I've actually done those. I manually added the datagridboolcolumn
and datagridtextboxcolumns to a newly created tablestyle, each mapped to the
appropriate datatable columns.

I set the textbox columns "readonly=false" and the boolcolumn
"readonly=true". It worked for the textbox columns - i.e. they are not
editable. Unfortunately it didn't work for the boolcolumn! I could not
change the value of the column. In fact, if I click on it I get an
indexoutofrange exception! The checkbox column is the first one in the
tablestyle.

Any idea why this may be a problem?

Cheers,
D.
Nov 21 '05 #4
Dany,

I did today another sample, so this one was easy to made from it.

\\\Needs only a datagrid on a form
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
DataGrid1.DataSource = CreateTables()

DirectCast(DataGrid1.DataSource, _
DataTable).DefaultView.AllowNew = False
Dim dgts As New DataGridTableStyle
dgts.MappingName = "Persons"
Dim textCol As New DataGridTextBoxColumn
textCol.MappingName = "Name"
textCol.HeaderText = "Name"
textCol.Width = 200
textCol.ReadOnly = True
dgts.GridColumnStyles.Add(textCol)
Dim boolCol As New DataGridBoolColumn
boolCol.MappingName = "US"
boolCol.HeaderText = "US"
boolCol.Width = 20
boolCol.NullValue = False
dgts.GridColumnStyles.Add(boolCol)
DataGrid1.TableStyles.Add(dgts)
End Sub
'Sample datatable
Private Function CreateTables() As DataTable
Dim dtVBReg As New DataTable("Persons")
dtVBReg.Columns.Add("Name")
dtVBReg.Columns.Add("US", GetType(System.Boolean))
For i As Integer = 0 To 6
dtVBReg.Rows.Add(dtVBReg.NewRow)
Next
dtVBReg.Rows(0).ItemArray = New Object() _
{"Herfried K. Wagner", False}
dtVBReg.Rows(1).ItemArray = New Object() _
{"Ken Tucker", True}
dtVBReg.Rows(2).ItemArray = New Object() _
{"CJ Taylor", True}
dtVBReg.Rows(3).ItemArray = New Object() _
{"Jay B Harlow", True}
dtVBReg.Rows(4).ItemArray = New Object() _
{"Terry Burns", False}
dtVBReg.Rows(5).ItemArray = New Object() _
{"Tom Shelton", True}
dtVBReg.Rows(6).ItemArray = New Object() _
{"Cor Ligthert", False}
Return dtVBReg
End Function
////

I hope this helps a little bit?

Cor

"Dany P. Wu" <da**@nospam.quicksilver.net.nz>
Hi everyone,

I'm not entirely sure if this is the best way of going about it, but
here's the scenario..........

I have two datagrid, each bound to a datatable which have checkbox
columns. There are two buttons between the datagrids, "Add" and "Remove".
They basically remove rows from one grid to the other, only those with the
checkbox ticked.

The problem is I don't want users to add new rows, or alter any of the
columns except for the checkbox column. Is this possible? Or perhaps is
there a better way of selecting multiple rows and working with them? I
realise I have to work with the underlying datasources, *not* the
datagrids themselves, but damn if I know how to go about it.

It's been bugging me all weekend. Any suggestions would be greatly
appreciated.

Cheers,
Dany.

Nov 21 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1488
by: G Dean Blake | last post by:
I have a textbox in an ItemTemplate of a grid I'm using to allow users to change a value. I've done it a hundred times. In this project I have it returns the original amount even though the user...
5
1560
by: woodpecker | last post by:
when I set the datagrid's readonly=true,I can't set it back to false value,why? Anybody can tell me the reason? Thanks your help. Woodpecker.
1
1210
by: woodpecker | last post by:
when I set readonly=true,I can't set it back to the value "false",why? Anybody can tell me the reason and fix the problem? Thanks advance. Woodpecker.
2
2273
by: Marcin Floryan | last post by:
I am creating a custom control (Inherits UserControl) and my control containt a TextBox control. TextBox control has a Property called "ReadOnly". I would like to expose this property outside my...
2
5222
by: Daren Hawes | last post by:
Hi I need to add an attribute to a Textbox to make it read only. To add a CSS I use DeptDate.Attributes("Class") = "textInput" That adds 'Class="textinput"', but the readonly is like..
3
3177
by: Jon | last post by:
I'm learning about datatables. When using the example provided by MS in the ..NET Framework Class Library for DATATABLE (see below) I get an error on line 3 that says "Type expected". Is something...
5
1516
by: Alex | last post by:
Hello, Is it possible to have a class that has "readonly" properties for some classes and can be written by others? The reason I want this is that some of my classes need to expose their...
0
901
by: Li Pang | last post by:
Hi, I populate some data either in a Listview or in a Datagrid, some of data should displayed in readonly mode. I want to know how to partially set these rows in readonly mode. It seems that the...
5
4122
by: elainenguyen | last post by:
Hi, since assigned "acFormReadOnly", my code supposes to allow user to only "read the form", but when I test the code, I can type and click on any of the fields on the form. What I really want the...
0
7205
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7287
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7349
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
7467
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5594
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5022
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3168
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1521
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
399
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.