如何从GridView1';页面加载时的第一行第四列单元格,并将其保存到C#asp.net中的一个变量中

本文关键字:单元格 保存 一个 变量 net C#asp 四列 一行 GridView1 加载 | 更新日期: 2024-06-14 04:56:25

我是asp.net和C#web应用程序开发的新手。

我的问题是:我有一个GridView1,它绑定到一个从SQL Server表获取数据的数据源。

Gridview1具有以下列:

  • select(默认情况下,可在gridview中选择行)
  • 时间
  • 客户
  • 地址
  • 经度(可见=假)
  • 纬度(可见=假)

该数据还通过下拉列表日期进行过滤和排序

我想做的是当我的页面加载纬度和经度列的值时,第一行的值被分配给我的变量lat和lng

这就是我正在写的,基本上lat和lng变量将用于我的另一个函数:

        Double lat, lng;
        lat = Convert.ToDouble(GridView1.Rows[1].Cells[4].Text);
        lng = Convert.ToDouble(GridView1.Rows[1].Cells[5].Text);
        GLatLng latlong = new GLatLng(lat, lng);
        GMap1.setCenter(latlong, 10);

引发以下异常:

索引超出范围。必须是非负数并且小于集合的大小。

gridview数据从不为空,它总是有一些数据

如何从GridView1';页面加载时的第一行第四列单元格,并将其保存到C#asp.net中的一个变量中

访问行集合之前,请确保将网格视图绑定到数据源Gridview.Datasource=您的数据源Gridview.bind();

试试这个

lat = Convert.ToDouble(GridView1.Rows[0].Cells[3].Text);

因为Gridview RowsCells总是从0(零)开始。

最好的方法是使用Controls的.findControl()方法,如下所示。

string lat = ((Label)GridView1.Rows[0].FindControl("labelID")).Text

但是,对于上述代码,您必须在GridView<ItemTemplate>中使用<asp:label>