我有一个自定义 GridView 控件(继承system.web.ui.webcontrols.gridview),我想根据用户最近插入的值来控制 TextBox 的值(插入的值不会提交给数据源)。
在 Grid.DataBound 中,我可以查询单个列的单元格以获取我设置为 TextBox 的当前最大值。
int maxTimeSlot = grid.Rows.OfType<GridViewRow>().Max(r => int.Parse(r.Cells[1].Text));
插入新行后,我可以访问 Grid 的“Inserts”属性,其中包含到目前为止所有插入行的列表,例如:
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)
以上是我对它如何工作的“想法”,但自然不是。