DataSource
を使用してDataGridView
に利用可能なクレジットカードを記入し、最後にダミーのクレジットカードを追加して新しいクレジットカードを使用します。DataGridViewで行を選択したときにインデックスが範囲外だったC#
private void ListCards()
{
cards.Add(new CreditCard
{
Token = "new",
LastFour = "New Card"
});
}
私は「新しい」行を選択し、次の作品にそれを渡すために行くとき、私はIndex was out of range. Must be non-negative and less than the size of the collection.
private void Ok_btn_Click(object sender, EventArgs e)
{
int selectedRowIndex = CreditCards_grdvw.SelectedCells[0].RowIndex;
tkn = Convert.ToString(CreditCards_grdvw.SelectedRows[selectedRowIndex].Cells[0]);
this.DialogResult = DialogResult.OK;
Close();
}
を取得し、私は行数がSelectedRowIndex
よりも大きいことを保証するためにチェックしましたが、私は依然としてエラーが発生しています。また、最初にcards
にレコードが1つあり、ダミーの「新しい」レコードを追加すると、Visual Studioの直下のウィンドウ?CreditCards_grdvw.SelectedRows[0].Cells[0].Value
を使用して、「新しい」バックに戻ります。ダミーカードではなく、実際のカードをインデックス0にする必要があります。
私は同じ機能を得るために別のボタンを追加することができたが、私はそうしたくないと思っています。どんな助けでも大歓迎です。
セルを「選択」してもよろしいですか? – ainwood