как получить доступ к значениям gridview внутри TemplateField asp.net

#c# #asp.net

#c# #asp.net

Вопрос:

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

 DataTable dtCustomers = new DataTable("ShippingDetails");

//Add columns to DataTable.
foreach (TableCell cell in gvShippingBill.HeaderRow.Cells)
{
    dtCustomers.Columns.Add(cell.Text);
}
foreach (GridViewRow row in gvShippingBill.Rows)
{
    dtCustomers.Rows.Add();
    for (int i = 0; i < row.Cells.Count; i  )
    {
        // Console.WriteLine(gvShippingBill.Columns[i].ToString());
        dtCustomers.Rows[row.RowIndex][i] = gvShippingBill.SelectedRow.Cells[i].Text;
        //row.Cells[i].Text;
    }
}

return dtCustomers;
  

Комментарии:

1. Почему используются значения GridView, а не исходные исходные данные?

Ответ №1:

  bind value in lable inside the template filed
 <ItemTemplate>
            <asp:Label ID="Label1" runat="server" Text='<%# Bind("CultivarType") %>'/>
 </ItemTemplate>

 using find control u can get that value
 Label lb = (Label)GridView1.Rows[i].Cells[2].FindControl("Label1");
  string s = lb.Text;