|
I have a project which displays data in a datagridview control. The first column is an image column that uses the image of a pencil to symbolize editing the record. Up until now that has worked fine, but now I need to hide the icon for selected records, based on a flag. How can I hide the icon in one row but not the others? I've tried looping through the grid and setting the visibility of just that cell to false, but it is a read only property. If I can't do it with an image column, what kind of work around should I look at? I would appreciate any advice and/or links to articles that deal with this issue. Thanks.
|
|
|
|
|
You can't change the visibility of the cell. You have to change the value of the cell based on your requirements. There is either going to be an image in that cell, or there isn't. See what I'm saying? Either that, or the other option is to change that picture that's in the cell. One with a pencil, the other blank.
|
|
|
|
|
Thanks! I guess I wasn't looking for cell value because previously my column was unbound. I'm able to accomplish my goal now by binding the column and setting the value to either the pencil image or the blank. Thank you very much for your help.
|
|
|
|
|
Hi Sir/Maam,
I have designed an assembler for 80x86 assembly language using VB6.
The app itself is working fine and im in the proccess of beatification.
What I want to do now is to COLORIZE the opcodes (Mneumonics/Commands) according to type.
Example:
MOV AL,AH -> Data Transfer Instruction -> Blue
MUL BL -> Arithmetic Instruction -> Red
SAL AL -> Bit Manipulation Instruction Orange
Comments -> Green
So, say the user type MOV, I want my program to color it BLUE. Just like a modern day compiler.
After much research, I've learned that I should have used a RTF box as opossed to an ordinary textbox.
Is there a way to procceed using a textbox? and can you please guide me to the right path.
Thank you great geniuses!
|
|
|
|
|
Ian Uy wrote: The app itself is working fine and im in the proccess of beatification.
You're getting your application blessed by the Pope? Click[^]
Ian Uy wrote: After much research, I've learned that I should have used a RTF box as opossed to an ordinary textbox.
Not quite. It's possible to do, but the colorization process gets slower and slower with the longer the text in the RTB. Do some research on the project first[^] before you waste your time on coding something that may disappoint you.
There is no way to do this using a TextBox. It only support a single color for the entire contents of the box.
|
|
|
|
|
Sorry Sir bout the spelling. Beautification. LOL.
Ok, I'll try to change it to RTB. Thanks.
|
|
|
|
|
How can I give a version to MSI install package and where can I see the version of MSI afterwards?
|
|
|
|
|
Hi,
I must split a string after the numbers of his letters(the size of the string).
i want to do something like this:
dim str as string<br />
<br />
If Len(str) > 4000 Then<br />
str = str.Split(. ..)
help please
regards.
|
|
|
|
|
use the SubString method instead.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
hello dear,
u can use this
str = Microsoft.VisualBasic.Mid(str, 4000)
or use
str = str.Substring(4000)
love
shally
sdf
|
|
|
|
|
|
shally_79 wrote: str = Microsoft.VisualBasic.Mid(str, 4000)
or use
str = str.Substring(4000)
Note that these give different results, as indices are one based in Mid and zero based in Substring .
---
single minded; short sighted; long gone;
|
|
|
|
|
First time here, thanks in advance for any help. I am currently finishing up a project that does not use Buttons and I have been able to move around through 50 user input boxes via the TAB key. I have used _Validating so when I TAB out of the block of code, the code is activated automatically.
TextBox1_Validating..............Checkbox1_Validating............, its all good and it all works. I only need the Checkboxes under certain scenarios and I cannot program and infinite number of scenarios, so, to make my project completely Button and mouse free, I would like to move from a textbox to a checkbox the sits right next to it when needed by pushing the Enter Key.
I have done my homework and have not seen anything of the sort, I do not need the Enter key anywhere else in my code nor does it work even if I accidently bump it.
Duane in Japan
Sorry, I have VB Studio '05.
|
|
|
|
|
Add the following line to your form load for each control that it is relevant for.
AddHandler uxControlWhereEnteredKeyPressed.KeyPress, AddressOf Me.NameOfEventToHandleThis Here's the event.
Private Sub NameOfEventToHandleThis(ByVal sender As Object, ByVal e As KeyPressEventArgs)
If e.KeyChar = Chr(13) Then
SelectNextControl(Me.ActiveControl, True, False, True, True)
e.Handled = True
End If
End Sub The False will stop on Non-tab stop items so just make sure your tab order is in the correct order but set the CheckBoxes to TabStop = False.
If you want to speed up adding the handler use the following snippet of code.
For Each ControlOnForm In Me.Controls
If TypeOf ControlOnForm Is TextBox Then
DirectCast(ControlOnForm, TextBox).KeyPress, AddressOf Me.NameOfEventToHandleThis
End If
Next I hope this helps.
CleaKO
"Now, a man would have opened both gates, driven through and not bothered to close either gate." - Marc Clifton (The Lounge)
|
|
|
|
|
Thanks for your assistance, sorry, I am still a bit new to naming conventions, I have been sticking to the default names so I am not sure what to insert into your code. This includes the Form Load line of code also please. I have set the TAB index up to what I believe is by your instructions. Here is a piece of what I am working with. Where do I insert your code and how do I name the events.
Private Sub TextBox5_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox5.Validating
Dim Box2 As Double = 0
Dim Box5 As Double = 0
If TextBox5.Text.Length = 0 Then
'http://msdn2.microsoft.com/en-us/library/139z2azd.aspx, MsgBox
MsgBox("A 'B1' value is required.", MsgBoxStyle.Exclamation)
e.Cancel = True
ElseIf Not IsNumeric(TextBox5.Text) Then
MsgBox("This 'B1' value is not numeric.", MsgBoxStyle.Exclamation)
e.Cancel = True
'http://msdn2.microsoft.com/en-us/library/system.windows.forms.checkbox.checked(VS.80).aspx, CheckBox
ElseIf CheckBox2.Checked Then
e.Cancel = False
Else
Box2 = CDbl(TextBox2.Text)
Box5 = CDbl(TextBox5.Text)
TextBox3.Text = CStr(Box5 + 1)
TextBox4.Text = CStr(Box2 - Box5)
End If
If Box5 <= 0 Then
MsgBox("Your 'B1' value must be greater than zero.", MsgBoxStyle.Exclamation)
ElseIf e.Cancel = True Then
End If
TextBox35.Clear()
TextBox36.Clear()
TextBox37.Clear()
TextBox38.Clear()
TextBox39.Clear()
End Sub
Private Sub CheckBox2_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles CheckBox2.Validating
TextBox35.Text = TextBox5.Text
TextBox36.Focus()
End Sub
If needed right now, I would like to hit the enter key and go from textbox5 to checkbox2.
Duane in Japan
|
|
|
|
|
If you double click on the form itself that is the form load event. You would put the handler piece in that method.
The other part would be it's own function and would happen when you hit enter in the textboxes that you assign a handler to. The validating would still occur and if it didnt validate correctly you would just call e.Cancel = True in the validating event.
CleaKO
"Now, a man would have opened both gates, driven through and not bothered to close either gate." - Marc Clifton (The Lounge)
|
|
|
|
|
This is just one of ten exact calculation events, with the code that you gave, with limited infor from me, it worked but some code later in the calculator was not working properly.
The Enter key did something to the CheckBox and its name (CheckBox + Label) but it did not physically check the box, since my entire project is about Validating and the Checkbox was not actually Checked then code later did not run as intended.
Played with your code unnecessarily and played with some of my own guessing until I just had to add in CheckBox2.Checked = True. within your code so more of my code could run later.
Thanks again to all for this help, sorry for taking so long to get back, this forum moves fast.
I put the correct line of code in the Form.Load event up top too.
Private Sub TextBox5_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox5.Validating
Dim Box2 As Double = 0
Dim Box5 As Double = 0
TextBox5.SelectAll()
If TextBox5.Text.Length = 0 Then
'http://msdn2.microsoft.com/en-us/library/139z2azd.aspx, MsgBox
MsgBox("A 'B1' value is required.", MsgBoxStyle.Exclamation)
e.Cancel = True
ElseIf Not IsNumeric(TextBox5.Text) Then
MsgBox("This 'B1' value is not numeric.", MsgBoxStyle.Exclamation)
e.Cancel = True
'http://msdn2.microsoft.com/en-us/library/system.windows.forms.checkbox.checked(VS.80).aspx, CheckBox
ElseIf CheckBox2.Checked Then
e.Cancel = False
Else
'http://msdn2.microsoft.com/en-us/library/ewf8xx62(VS.80).aspx, Convertion
Box2 = CDbl(TextBox2.Text)
Box5 = CDbl(TextBox5.Text)
TextBox3.Text = CStr(Box5 + 1)
TextBox4.Text = CStr(Box2 - Box5)
End If
If Box5 <= 0 Then
MsgBox("Your 'B1' value must be greater than zero.", MsgBoxStyle.Exclamation)
ElseIf e.Cancel = True Then
End If
TextBox35.Clear()
TextBox36.Clear()
TextBox37.Clear()
TextBox38.Clear()
TextBox39.Clear()
End Sub
Private Sub TextBox5_Validating(ByVal sender As Object, ByVal e As KeyPressEventArgs)
If e.KeyChar = Chr(13) Then
SelectNextControl(Me.ActiveControl, True, False, True, True)
CheckBox2.Checked = True
e.Handled = True
End If
End Sub
Private Sub CheckBox2_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles CheckBox2.Validating
TextBox35.Text = TextBox5.Text
TextBox36.Text = 0
TextBox37.Focus()
End Sub
|
|
|
|
|
I manually re-ordered the DataGridView columns many times until I thought, Ahhh I can do this in code, so I did the following (note this grid contains many columns but I removed them for simplicity).
uxInformationGrid.Columns.Clear()
Me.uxInformationGrid.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.IDColumn, Me.NameColumn}) The problem with this is that it doesnt do anything. Is there a piece missing from here?
CleaKO
"Now, a man would have opened both gates, driven through and not bothered to close either gate." - Marc Clifton (The Lounge)
|
|
|
|
|
hello,Please try by changing DataGridViewColumn() to DataGridViewTextBoxColumn
shally
|
|
|
|
|
I need to get a dataview containing the sums, counts and averages of columns in a datatable that have the
same value in another column. For instamce the SUM returned dataview from this table:
A B
1 5
2 10
1 5
2 10
should return
A B
1 10
2 20
What is the computationally fastest way to do this?
tia!
|
|
|
|
|
Make a nested query. Example:
select Cnt, sum(Value)
from (
select count(*) as Cnt, Value
from SomeTable
group by Value
) as x
group by Cnt
---
single minded; short sighted; long gone;
|
|
|
|
|
OK, I see that an SQL query is good.
But I have a local datatable -- it doesn't have or need an SQL connection or dataadapter.
Should I make one to do this selection? (seems like a lot of overhead?)
Or is there a better alternative - perhaps a loop is faster?
Thanks
|
|
|
|
|
cstrader232 wrote: But I have a local datatable -- it doesn't have or need an SQL connection or dataadapter.
Should I make one to do this selection? (seems like a lot of overhead?)
Using a DataTable when the data doesn't come from a database seem like a lot of overhead in the first place...
cstrader232 wrote: Or is there a better alternative - perhaps a loop is faster?
Yes. There are dictionaries and sorted lists that you can use to easily group and sort the data.
---
single minded; short sighted; long gone;
|
|
|
|
|
Well I thought that sorted lists were not very efficient. I don't know what a dictionary refers to
in this context. Can you direct me?
ty
|
|
|
|
|
cstrader232 wrote: I don't know what a dictionary refers to in this context. Can you direct me?
MSDN Library: Dictionary[^]
---
single minded; short sighted; long gone;
|
|
|
|