opensubscriber
   Find in this group all groups
 
Unknown more information…

d : dotnet-winforms@discuss.develop.com 28 January 2008 • 6:36AM -0500

Re: Negative rowIndex problem for new DataGridViewRow
by kara hewett

REPLY TO AUTHOR
 
REPLY TO GROUP




Hi Brady,

With the DataGridView, the rows could be accessed iteratively up to a
size of myGrid.Rows.Count


Here is a webpage with an example of how to access a row/column
reference as you describe.

http://msdn2.microsoft.com/en-us/library/system.windows.forms.datagridview.rowcount.aspx




On Jan 27, 2008 1:00 PM, Brady Kelly <brady@chas...> wrote:
> I create and add a new row to an unbound DataGridView.  Then, if I try and
> access an item in the Cells collection of the row, as in my commented out
> code, I get an index out of range exception, rowIndex.  I'm not specifying a
> row index, so I assume it is inferring it from the row object, whose
> rowIndex property is -1.  However, when I access the cell through a row in
> the grids Rows collection, I'm happy, as in my other code.  Can anyone
> explain this behaviour?
>
>
>
> The exception:
>
>
>
> Specified argument was out of the range of valid values.
>
> Parameter name: rowIndex
>
>
>
> The code:
>
>
>
>            ExportLineRow newRow = new ExportLineRow(); // Derived from
> DataGridViewRows.
>
>            newRow.ExportLine = newLIne;
>
>            newRow.CreateCells(dgvLayout);
>
>            dgvLayout.Rows.Add(newRow);
>
>
>
>            int cx = 1;
>
>            foreach (Column o in
> newRow.ExportLine.RecordLayout.Columns.Values)
>
>            {
>
>                int rowIndex = dgvLayout.Rows.Count - 1;
>
>                dgvLayout.Rows[rowIndex].Cells[cx].Value = o.ColumnValue;
>
>
>
>                // TODO Find out why this doesn't work.  Why is rowIndex -1?
>
>                //DataGridViewCell c = newRow.Cells[cx];
>
>                //newRow.Cells[cx].Value = o.ColumnValue;
> // Exception thrown here.
>
>                cx++;
>
>            }
>
>
>
> My column indexing is clearly not the problem, as in the following
> breakdown, the first snippet works with the same column index that's used in
> the second snippet, which failes:
>
>
>
> Works:
>
>
>
>            foreach (Column o in
> newRow.ExportLine.RecordLayout.Columns.Values)
>
>            {
>
>                int rowIndex = dgvLayout.Rows.Count - 1;
>
>                dgvLayout.Rows[rowIndex].Cells[cx].Value = o.ColumnValue;
>
>                cx++;
>
>            }
>
>
>
> Doesn't work:
>
>
>
>            foreach (Column o in
> newRow.ExportLine.RecordLayout.Columns.Values)
>
>            {
>
>                DataGridViewCell c = newRow.Cells[cx];
>
>                newRow.Cells[cx].Value = o.ColumnValue;
>
>                cx++;
>
>            }
>

Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

Related Messages

opensubscriber is not affiliated with the authors of this message nor responsible for its content.