2013-03-20 96 views
6

我試圖從GridView獲取一個int值。這是我的gridview的屏幕截圖。從Gridview單元獲取價值

gridview screenshot

這裏是我創建了一個RowCommand方法,其中當我按在GridView上它是假設刪除按鈕給我INT爲GridView

ASP代碼第二列的值。因此,舉例來說,如果我是按最後一個刪除按鈕它會給我的5

int值這是我隱藏的方法

protected void grdOrder_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "Remove") 
    { 

     int bigStore = Convert.ToInt32(grdOrder.SelectedRow.Cells[2].Text); 

     clsStockCollection AnId = new clsStockCollection(); 

     clsStock TheOrder = new clsStock(); 
     TheOrder.OrderId = bigStore; 
     AnId.DeleteOrder(TheOrder); 
     DataCall(); 

    } 
} 

當我運行這段代碼我得到這個錯誤。 未將對象引用設置爲對象的實例。

我不明白如何或爲什麼我需要引用一個對象,例如:對象作爲新對象。爲什麼我需要這樣做?

下面是完整的類代碼隱藏:pastebin.com/yzLR7s2w

提前

+0

哪條線拋出異常? – 2013-03-20 00:05:54

+0

第46行:int bigStore = Convert.ToInt32(grdOrder.SelectedRow.Cells [2] .Text); – JARRRRG 2013-03-20 00:08:03

回答

7

SelectedRows只返回已選定列A感謝;沒有選擇,你不會得到任何東西。而不是int bigStore = Convert.ToInt32(grdOrder.SelectedRow.Cells[2].Text);嘗試:

int rowIndex = Convert.ToInt32(e.CommandArgument); // Get the current row 
int bigStore = Convert.ToInt32(grdOrder.Rows[rowIndex].Cells[2].Text);