无法获取gridview asp.net中未绑定字段的值c#

时间:2016-05-25 06:11:45

标签: c# asp.net gridview

我正在尝试从gridview获取值。

我使用存储过程为它设置数据源,我们只是说gridview使用动态pivot colums,所以我不能为它们创建一个绑定字段。

这是我的代码试图获取文本框值及其标题值

protected void dgvTask_SelectedIndexChanged(object sender, EventArgs e)
{
    var grid = (GridView)sender;
    GridViewRow selectedRow = grid.SelectedRow;

    int rowIndex = grid.SelectedIndex;
    int selectedCellIndex = int.Parse(this.SelectedGridCellIndex.Value);

    TextBox txtLogs = (TextBox)selectedRow.Cells[selectedCellIndex].FindControl("txtdata");
    string cellValue = txtLogs.Text;
    string headerValue = grid.HeaderRow.Cells[selectedCellIndex].Text;

    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('" + selectedCellIndex + "')", true);
    bindDgvTask();
}

我也尝试使用

string cellValue = grid.SelectedRow.Cells[selectedCellIndex].Text;

获取单元格值,但这两个都返回这些错误

  

指定的参数超出了有效值范围

selectedRow不能错,因为它只返回所选行的值。 当我检查selectedCellIndex时,它也会根据我点击的内容返回正确的值。

但是当我尝试使用row[0].cells[0]时,这是我设置的唯一边界

<Columns>
    <asp:BoundField DataField="Task" HeaderText="Task">
        <ControlStyle BackColor="White" BorderColor="Black" />
        <ItemStyle BackColor="White" BorderColor="Black" BorderStyle="Solid" ForeColor="Black" />
    </asp:BoundField>
</Columns>

返回正确的值。

所以现在我很困惑我是否以错误的方式检索值,或者只是在获取未绑定字段的值时有不同的方法。

提前致谢

0 个答案:

没有答案