2013-03-20 25 views
6

GridView'den int değeri elde etmeye çalışıyorum. Benim kılavuzumun ekran görüntüsü. İşte Bir Gridview hücresinden değer alma

gridview screenshot

Bana int vermek ben varsayalım GridView'da Kaldır düğmesine basın bir rowcommand yöntemi oluşturduk Gridview

için asp kodu 2. sütunun değeri. bana 5.

bir int değerini verecek Geçen Kaldır düğmesine basın olsaydı örneğin Yani bu benim codebehind Bu kodu çalıştırdığınızda bu hatayı alıyorum yöntemle

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

    } 
} 

içindir. Nesne başvurusu, bir nesnenin örneğine ayarlanmamış.

Örneğin bir nesneyi nasıl veya neden referans göstermem gerektiğini anlamıyorum: Nesne Olarak Yeni Nesne. Bunu neden yapmaya ihtiyacım var? İşte

tam sınıf için codebehind geçerli: pastebin.com/yzLR7s2w

+0

İstisna hangi satır atılıyor? –

+0

Satır 46: int bigStore = Dönüştür.ToInt32 (grdOrder.SelectedRow.Cells [2] .Sonra); – JARRRRG

cevap

7

SelectedRows sadece seçilmiştir satırları döndüren önceden bir teşekkür; Seçim olmadan bir şey almayacaksınız. Bunun yerine, int bigStore = Convert.ToInt32(grdOrder.SelectedRow.Cells[2].Text); deneyin:

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