Как получить значения, сохраненные в строках, из события редактирования вида сетки в событии обновления вида сетки? - PullRequest
4 голосов
/ 06 марта 2012

На событие редактирования gridview у меня есть:

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

Я хочу получить эти значения из переменных в строке обновления таблицы событий, но я не знаю, как получить к ним доступ.

спасибо

Ответы [ 2 ]

3 голосов
/ 06 марта 2012

Используйте свойство 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.OldValues и GridViewUpdateEventArgs.NewValues Dictionaries.

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

0 голосов
/ 06 марта 2012

Вы можете использовать код:

protected void Page_Load (отправитель объекта, EventArgs e) {// Имя - строка, отображаемая на экране, и имя - используемая переменная.// Subame - это строка, отображаемая на экране, а subname - используемая переменная.

    Response.Write("The Name"+ name );
    Response.Write("The Subname" + subname);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...