カスタム GridView コントロール ( system.web.ui.webcontrols.gridviewを継承) があり、ユーザーによって最近挿入された値に基づいて TextBox の値を制御したいと考えています (挿入された値はデータソースにコミットされません)。
Grid.DataBound では、単一の列のセルをクエリして、TextBox に設定した現在の最大値を取得できます。
int maxTimeSlot = grid.Rows.OfType<GridViewRow>().Max(r => int.Parse(r.Cells[1].Text));
新しい行を挿入した後、これまでに挿入されたすべての行のリストを含むグリッドの「挿入」プロパティにアクセスできます。次に例を示します。
GridView.Inserts[0].NewValues & GridView.Inserts[0].OldValues
私がする必要があるのは、この「挿入」リストを使用して最大値を再度取得することですが、値を取得するために NewValues.Values (OrderedDictionaryKeyValueCollection) を照会するのに苦労しています。
NewValues.Values.OfType<KeyValuePair<object, object>>().Select(r => r.Key == "timeslot").Max(t => (int)t.Value)
上記は、それがどのように機能するかについての私の「考え」ですが、当然、そうではありません。