gpt4 book ai didi

c# - 如何从 GridView 更新事件中的 GridView 编辑事件中获取保存在字符串中的值?

转载 作者:行者123 更新时间:2023-11-30 12:33:16 26 4
gpt4 key购买 nike

在 gridview 编辑事件中我有:

string name = GridView1.Rows[e.NewEditIndex].Cells[1].Text;
string subname = GridView1.Rows[e.NewEditIndex].Cells[2].Text;

我想从行更新事件 gridview 中的变量中获取这些值,但我不知道如何访问它们。

谢谢

最佳答案

使用 RowIndex属性

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = GridView1.Rows[e.RowIndex];
string name = row.Cells[1].Text;
string subname = row.Cells[2].Text;
}

要获取更新行的旧/新值,您还可以使用 GridViewUpdateEventArgs.OldValuesGridViewUpdateEventArgs.NewValues 字典

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string oldName = e.OldValues["Name"];
string oldSubname = e.OldValues["SubName"];
string newName = e.NewValues["Name"];
string newSubname = e.NewValues["SubName"];
}

只检测变化的值 (未测试) :

var changed = new Dictionary<Object, Object>();
foreach (DictionaryEntry entry in e.NewValues)
{
if (e.OldValues[entry.Key] != entry.Value)
{
changed.Add(entry.Key, entry.Value);
}
}

或使用 LINQ:

changed = e.NewValues.Cast<DictionaryEntry>()
.Where(entry => entry.Value != e.OldValues[entry.Key])
.ToDictionary(entry => entry.Key, entry => entry.Value);

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowupdating.aspx

关于c# - 如何从 GridView 更新事件中的 GridView 编辑事件中获取保存在字符串中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9582091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com