This is something that's been bugging me for a while. Say I have a dgv with several columns and rows of data. Many times while working with the grid, it's necessary to know the number of the column, but all you know is the column header name, or vice versa. Is there any internal command that will return these values, or is there at least a better solution to the problem than making a function that loops through every header name until you find the one you want? It just seems so inefficient.
Is there a way to find the column index of a datagridview column using the columns DataPropertyName?I currently use a loop (shown below in the class) which is kind of ugly, but it works. I'd like to do something like this, which seems more elegant.My goal is this, I store the users DataGridView column settings (i.e. DisplayIndex, Visible, & Width).When the user opens the form that contains the datagridview I want to get those settings from the database and apply the settings to the datagridview.[code]
I have a DataGridView containing a large number of columns. I want the users to be able to select multiple columns and then select a menu item to hide the selected columns. For example a user might selected columns 5 through 10 and I want the program to hide those columns. I know how to hide columns, one at a time. I can get the count of selected columns but I have not figured out how to get the index to the left-most selected column. Trial and error is such a slow process.
Considering the huge number of options offered by the DataGridView tool, it would be nice if this forum had a special category for the DataGridView (common to VB and C#).
Finally I got the desired results but it took a lot of coding, looping through the selected cells to find the one with the lowest column index, then a second loop to count previously-hidden columns, then a third loop for hiding the selected columns, stepping past previously-hidden columns and declining to hide frozen columns.
I have datagridview with XSD as the binding source (i configured it with the smart tags). After build, the dgv change its columnIndex which surely result error of my code.
For example
columnIndex(0) = idEmployee (dataGridViewTextBoxColumn) columnIndex(1) = name (dataGridViewTextBoxColumn) columnIndex(2) = status (dataGridViewCheckBoxColumn) suddenly, the columnIndex(2) moved into columnIndex(0)
I am trying to sort a column in DGV as follows: DataGridView8.Sort(DataGridView8.Columns(0), ListSortDirection.Ascending) However, I want to use the name of the column and extract the index number in the first parameter of the Sort method. However this fails: DataGridView8.Sort(DataGridView8.Columns("Date").Index, ListSortDirection.Ascending)
i have two datragridviewcomboboxcolumn,and two textbox column in a datagridview.each combobox column is binded to separate binding source.
column names are sl_no,col_empname,col_empworktype,Col_Hours etc.and displaymember,datapropertyname,valuemember and for comboxcolumn are col_empname:-emp_name,emp_id,emp_id col_empworktype:-worktypename,worktypeid,worktypeid
I have a datagridview with 3 columns. The second column is a combobox which I want to bind with a dataset. How do I go about setting the column index for it as I am doing something like this.
Problem: Calling a method which uses a cell's value from a DataBound DataGridView. Works as desired without adding an image column.When I add the image column, the method attempts to use the value from column 1 instead of column 2, as the code in the 2nd method below ("findSign") states:
i am having trouble putting a value in a textbox. Each time a ticket is sold i put the total price in a textbox, each time a ticket is sold for the same concert it increases by adding its self to the total price. It works at the first sale, but after that it breaks down. here is the code
Private Function DisplayMoneyTaken() As Integer Dim totalMoney As Integer 'open the database connection
I'm trying to develop an app to import a spreadsheet into an Access 97 database. I'm using Visual Studio 08. I'm stuck on the first step! I'm trying to use the Data Source Configuration Wizard to connect to the database, and when I get to the point where I choose which tables to add, I get the following error:
<COPYtblMHPuse>
Could not get column information for database object named 'COPYtblMHPuse' This is for any table I try to add.
I have a table named fec in which i hv column named EndDt having Date/Time Data type.Now i want to display those records in my report which have EndDt less than Date i pick from DateTimePicker and month is current month.Private Sub DtpDefault_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DtpDefault.ValueChanged
Scenario: FormA has a DataGridView with a DataTable as it's DataSource. The DefaultView of the DataTable is set to a particular filter, say "UnitFreight < 2.00". The user selects multiple rows then selects a context menu item to open up form2. Form2 does a bunch of stuff and in this example it will change the UnitFreight value in the selected rows on form1 to say 2.27. It also raises an event in form1 to adjust attribute cells such as UnitPrice.
The issue is that doing the above example puts the selected rows out of the range of the applied filter and I believe this is the issue because I end up getting a "Column named UnitPrice cannot be found" error. This is happening during the update of those attribute columns. I'm guessing the row has been filtered out so there's no column to be found. If I do the update without the filter applied it works fine. So my question is, what's the best approach to updating the data in this situation. I've started converting the updates to work against the DataTable directly instead of the DataGridView.
How can i get the Column Index and the Row Index when I click on the ListView?The ListView1.FocusedItem.GetSubItemAt(e.X, e.Y).Text function only gets the text of the first column, I can't find the option of getting the Index of the Column and Row upon clicking.
I have a function that searches AD for members of various groups. If I remove the loop, I don't get the error "A column named 'cn' already belongs to this datatable", however, I need to iterate through each OU.
Function getCOMDLNames(ByVal searchStr As String) As DataTable Dim MySearchRoot As DirectoryEntry = New DirectoryEntry("path", "usr", "pwd") Dim MyDirectorySearcher As New DirectorySearcher(MySearchRoot)
I have a datagridview named DGVAttend which has 21 columns, including a date col. It takes data from more than 100 text files. Only those files are processed which has relevant data and within it only relevant data are copied and not the full file.
Dim NoOfRelevantFiles As Integer Dim RelevantFileNames As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.FindInFiles(frmTxtFileDetails.txtboxFolder.Text, "Daily
I am working in VB 2008 and I have set up a datagridview to display rows of data which can then be selected. When I select the first row I get the error: Index was out of range. Must be non-negative and less than the size of the collection. When I select any other row the program executes as it should. From what I have learned so far is that the DataGridView has an index of -1 and that it counts the header row as part of the index which is the -1.When I select the first row through either DataGridView1_RowHeaderMouseClick or DataGridView1_CellContentClick the index is 0 for the first record. If the index is 0 I think it would fire off, but I have no idea what is happening behind the scenes. I can check the index, so when it is 0 and the code attempts to access the row, that is when I get the message.On an index number of 1 and up the code executes fine.So, is there a way to re-index the DataGridView, or is there a work around/fix for this issue?
I wish to be able to instantiate my Cell class while naming the cell instance with such name as "A", "B", "C", etc. just like in an Excel spreadsheet.
I have my Cell class like so:
public class Cell { public Cell(Range nativeCell) { NativeCell = nativeCell;
[Code].....
I would need to generate a name based on the alphabetic letters and double and triple them once I encounter the last alphabet letter 'Z'. The algorithm would have to generate the letters that I would concatenate with the rowIndex value that would result to this naming strategy such as Excel.
I want to perform some simple auto-formatting to the cells in my GridView. So far, I have the following code:
Private Sub gridviewRefreshPanel_RowDataBound( _ ByVal sender As Object, _ ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) _ Handles gridviewRefreshPanel.RowDataBound
In a DataTable object, is there added overhead to looking up a column value by name thisRow("ColumnA") rather than by the column index thisRow(0)? In which scenarios might this be an issue. I work on a team that has lots of experience writing VB6 code and I noticed that didn't do column lookups by name for DataTable objects or data grids. Even in .NET code, we use a set of integer constants to reference column names in these types of objects. I asked our team lead why this was so, and he mentioned that in VB6, there was a lot of overhead in looking up data by column name rather than by index. Is this still true for .NET?
When I right click on ultra grid view or may be grid view. I want to display different contextmenu strip for different columns. But when I right click I get index of column which I selected not which I right clicked.
Code is as follows: Private Sub DataGridView1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseDown If e.Button() = Windows.Forms.MouseButtons.Right Then MessageBox.Show(DataGridView1.SelectedCells(0).ColumnIndex.ToString()) End If End Sub
In my program I allow to the user to change the columns Display index of a data gridI need to save the new Column Display index in a database so I can use it to display the columns in the order that the user want the next time he opens the form
I'm trying to figure out how to set the index of a combobox column in a datagrid view when I load it from SQL Server. The combobox has a string in the text field and an index in the value field, and I want to set the selected index to match the value to an ID in the row from SQL. Not really sure how to bind it that way.
I need to sort a datatable. I do it with linq this an example
Dim query = From c In dt.AsEnumerable _ Order By c.Field(Of DateTime?)("LastPurchaseDate"), _ c.Field(Of String)("LastName") Descending Dim dv As DataView = query.AsDataView
But my problem is that i need to sort the fields not by passing the name of the column but the index of that.