[解決済み] エラーが発生しました。削除された行の情報には、その行を通じてアクセスできません
2022-02-28 06:45:36
質問
関係各位、私はこのエラーから抜け出す方法を見つけるためにかなりの時間を費やしました。
削除された行の情報には、行を通してアクセスできません。
データテーブルから行が削除されると、通常の方法ではアクセスできなくなることは理解しており、このエラーが発生する理由もそこにあります。大きな問題は、希望する結果を得るために何をすればよいのかがわからないことです。
基本的に "dg1" の行が削除されたとき、その下の行は削除された行の場所を取り(明らかに)、したがって削除された行のインデックスを継承します。このメソッドの目的は、削除された行のインデックスを (データセット内の対応する値から取得することで) 置き換えることであり、インデックス値をリセットすることです。
今はラベル(lblText)を使って、プロセスからの応答を得ようとしているだけですが、最後のネストされたif文が値を比較しようとするとクラッシュします。
以下はそのコードです。
void dg1_Click(object sender, EventArgs e)
{
rowIndex = dg1.CurrentRow.Index; //gets the current rows
string value = Convert.ToString(dg1.Rows[rowIndex].Cells[0].Value);
if (ds.Tables[0].Rows[rowIndex].RowState.ToString() == "Deleted")
{
for (int i = 0; i < dg1.Rows.Count; i++)
{
if (Convert.ToString(ds.Tables[0].Rows[i][0].ToString()) == value)
// ^ **where the error is occurring**
{
lblTest.Text = "Aha!";
//when working, will place index of compared dataset value into rowState, which is displaying the current index of the row I am focussed on in 'dg1'
}
}
}
私は本当に検索しました、そして、それは単純なGoogle検索を介して把握することが容易であるなら、私は試してみましたので、繰り返し私に嫌われることを許可します。
- ジーシー
解決方法は?
内側のif文のデータ列の現在値は、削除された行には使用できません。 削除された行の値を取得するには、元の値を取得するように指定してください。 これでエラーは修正されるはずです。
if (Convert.ToString(ds.Tables[0].Rows[i][0, DataRowVersion.Original].ToString()) == value)
関連
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である
-
[解決済み] エラー - IISメタベースにアクセスできません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み】Nullableオブジェクトは値を持たなければならない?