2016-12-02 39 views
-4

我有下面的代码,但是如何在执行代码之前确认是否从gridview1中选择了一条记录(没有多条记录)?asp.net C#验证gridview记录被选中

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); 
} 
+0

做以下'的foreach一个简单的谷歌搜索(的DataGridViewRow ....'或者如果你只需要选择只有在DataGridView多选属性更改为false 1行.. – MethodMan

+0

也许,我只是想知道用户是否从GridView1控件中显示的记录中选择了一行,如果记录被选中,我可以继续下一步操作,谢谢。 – ikask

+0

确切地,你可以做到这一点几种方法,但我认为一个foreach会做的伎俩,所以祝你好运,就像我刚才提到的那样..做你自己的忙,做一个简单的谷歌搜索..现在不是我们的工作为你做研究是...? – MethodMan

回答

0

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

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); 

}

+0

有GridView1.SelectedRow,但没有GridView1.SelectedRows。 – ikask

+0

对不起,我错过了asp.net标签。你仍然可以说如果(GridView1.SelectedRow == null)返回; –

+0

这很好。谢谢。 – ikask