【问题标题】:asp.net C# verify gridview record is selectedasp.net C#验证gridview记录是否被选中
【发布时间】:2016-12-02 16:19:00
【问题描述】:

我有以下代码,但是在执行代码之前,我如何首先验证是否确实从 gridview1 中选择了一条记录(没有多条记录)?

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    vSelectedRow = GridView1.SelectedIndex;
    vWORKORDER_TYPE = GridView1.SelectedRow.Cells[1].Text;
    //vTYPE = GridView1.SelectedRow.Cells[1].Text;
    vWORKORDER_BASE_ID = GridView1.SelectedRow.Cells[2].Text;
    vWORKORDER_LOT_ID = GridView1.SelectedRow.Cells[3].Text;
    vWORKORDER_SPLIT_ID = GridView1.SelectedRow.Cells[4].Text;
    vWORKORDER_SUB_ID = GridView1.SelectedRow.Cells[5].Text;
    vOPERATION_SEQ_NO = Convert.ToInt32(GridView1.SelectedRow.Cells[6].Text);
    vRESOURCE_ID = GridView1.SelectedRow.Cells[7].Text;
    vHOURLY_COST = Convert.ToDecimal(GridView1.SelectedRow.Cells[9].Text);
    vUNIT_COST = Convert.ToDecimal(GridView1.SelectedRow.Cells[10].Text);
    vBURDEN_PER_HR = Convert.ToDecimal(GridView1.SelectedRow.Cells[11].Text);
    vBURDEN_PER_UNIT = Convert.ToDecimal(GridView1.SelectedRow.Cells[12].Text);
    vBURDEN_PERCENT = Convert.ToDecimal(GridView1.SelectedRow.Cells[13].Text);
    vBUR_PER_OPERATION = Convert.ToDecimal(GridView1.SelectedRow.Cells[14].Text);
 }

【问题讨论】:

  • 对以下foreach(DataGridViewRow .... 进行简单的谷歌搜索,或者如果您只需要选择 1 行,则将 DataGridView MultiSelect 属性更改为 false..
  • 也许,我的问题并不清楚。我只是想知道用户是否从 GridView1 控件中显示的记录中选择了一行,如果选择了该记录,我可以继续下一步操作。谢谢。
  • 完全正确,您可以通过多种方式做到这一点,但我认为 foreach 可以做到这一点,祝您好运,就像我提到的那样......帮自己一个忙,做一个简单的谷歌搜索......这不是我们的现在为你做研究的工作是……?

标签: c# asp.net gridview


【解决方案1】:

您可以测试实际具有选定行的网格。

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (GridView1.SelectedRow == null) return;

    vSelectedRow = GridView1.SelectedIndex;
    vWORKORDER_TYPE = GridView1.SelectedRow.Cells[1].Text;
    //vTYPE = GridView1.SelectedRow.Cells[1].Text;
    vWORKORDER_BASE_ID = GridView1.SelectedRow.Cells[2].Text;
    vWORKORDER_LOT_ID = GridView1.SelectedRow.Cells[3].Text;
    vWORKORDER_SPLIT_ID = GridView1.SelectedRow.Cells[4].Text;
    vWORKORDER_SUB_ID = GridView1.SelectedRow.Cells[5].Text;
    vOPERATION_SEQ_NO = Convert.ToInt32(GridView1.SelectedRow.Cells[6].Text);
    vRESOURCE_ID = GridView1.SelectedRow.Cells[7].Text;
    vHOURLY_COST = Convert.ToDecimal(GridView1.SelectedRow.Cells[9].Text);
    vUNIT_COST = Convert.ToDecimal(GridView1.SelectedRow.Cells[10].Text);
    vBURDEN_PER_HR = Convert.ToDecimal(GridView1.SelectedRow.Cells[11].Text);
    vBURDEN_PER_UNIT = Convert.ToDecimal(GridView1.SelectedRow.Cells[12].Text);
    vBURDEN_PERCENT = Convert.ToDecimal(GridView1.SelectedRow.Cells[13].Text);
    vBUR_PER_OPERATION = Convert.ToDecimal(GridView1.SelectedRow.Cells[14].Text);

}

【讨论】:

  • 有 GridView1.SelectedRow ,但没有 GridView1.SelectedRows 。
  • 抱歉,我错过了 asp.net 标签。你仍然可以说 if (GridView1.SelectedRow == null) return;
猜你喜欢
  • 2023-03-29
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 2020-03-09
  • 1970-01-01
相关资源
最近更新 更多