Получить значение / текст столбца в Gridview в ASP.net C # для отображения в метке - PullRequest
0 голосов
/ 27 февраля 2012

У меня есть gridview, у которого есть список Продавца имен.Когда продавец выбран с помощью A ButtonFieldTemplate в Grid.Мне нужно, чтобы имя выбранного Продавца появилось в Label.

. Пока у меня есть это, но оно не работает:

protected void gvSalesmanByManager_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    lblSalesmanCustomers.Text = gvSalesmanByManager.SelectedValue + "'s Customers"; 
} 

Это не вызывает никаких ошибок.Даже не красные волнистые линии в Visual Studio.Это просто не работает.

Как я могу сделать это в ASP.net и C # 4.0.

Ответы [ 3 ]

2 голосов
/ 27 февраля 2012

Убедитесь, что вы не назначаете пустой текст при загрузке страницы.или вам нужно поместить эти инициализации в блок if (! Page.IsPostback)

2 голосов
/ 27 февраля 2012

Относительно документации SelectedValue получает значение ключа данных выбранной строки в элементе управления GridView.Содержит ли ваш GridView столбец с ключом, и вы установили dataKeyNamesProperty (например, datakeynames = "myID")?

EDIT: для доступа к значению столбца вы можете использовать SelectedRow:

GridViewRow row = GridView1.SelectedRow;
lblSalesmanCustomers.Text = row.Cells[2].Text;

EDIT2: есть два варианта, когда вы хотите прочитать поле шаблона.Либо вы сохраняете свое значение в дополнительном невидимом столбце, либо получаете доступ к элементам управления внутри поля шаблона.Примерно так должно работать:

lblSalesmanCustomers.Text = ((TextBox)row.Cells[2].FindContol("tbxName")).Text;
0 голосов
/ 27 февраля 2012

Мой код на данный момент: protected void gvSalesmanByManager_SelectedIndexChanged (отправитель объекта, EventArgs e) {lblSalesmanCustomers.Text = gvSalesmanByManager.SelectedValue + "Клиенты";} -

попробуйте в событии "gvSalesmanByManager_SelectedIndexChanged" следующий код:

lblSalesmanCustomers.Text = gvSalesmanByManager.SelectedRow.Cells [0] .Text;

1006 * 100"ButtonFieldTemplate", пожалуйста, покажите мне некоторый код из вашего ascx-файла, я думаю, это нам очень поможет.

* Редактировать: "Элементы управления [1]" не должны быть правильными.Но 0 является буквальным.Вы также можете отладить свой код и установить точки останова.было бы намного проще.попробуйте это с помощью Linkbutton: LinkButton lnk1 = gvSalesmanByManager.SelectedRow.Cells [0] .Controls [1] as LinkButton;lblSalesmanCustomers.Text = lnk1.Text;

с наилучшими пожеланиями, никто не

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...