Проблема с получением значения ячейки OnRowCommand в Gridview

       protected void GridView1_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
        int index = Convert.ToInt32(e.CommandArgument);
        GridViewRow row = GridView1.Rows[index];

        k = row.Cells[0].ToString();
        Label1.Text = k;
 }

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

     System.Web.UI.WebControls.DataControlFieldCell.

Кто-нибудь может сказать мне, как решить мою проблему.

3 ответа

Решение

Попробуй это:

k = row.Cells[0].Text;

Вы получите текст в нем.

Установите командный аргумент как

CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>' CommandName = "QC"

И в событии RowCommand

 if (e.CommandName == "QC")            
 {
     int RowIndex = Convert.ToInt32(e.CommandArgument);

Получить значения, которые вы хотите на основе RowIndex.

Используйте EventHandler Gridview_CellEdit или что-то подобное. И тогда, если (selecteditems.count>0) вы можете получить их значение. С созданием новой переменной, конечно.

Другие вопросы по тегам