Forum

index hata mesajı &...
 
Bildirimler
Hepsini Temizle

[Çözüldü] index hata mesajı çözemedim

3 Yazılar
3 Üyeler
0 Likes
1,859 Görüntüleme
(@tarik_kara)
Gönderiler: 406
Honorable Member
Konu başlatıcı
 

Arkadaşlar
gridviewimde bir buton var.butona tıklayınca başka bir tablodan
veri çekip küçük bir pencerede ekrana getirmek istiyorum.ancak
butona basarken hata alıyorum.

hata şu :

Index was out of
range. Must be non-negative and less than the size of the collection.

Parameter name:
index

Şu satıra
konumlanıyor :

int code =
Convert.ToInt32(Gridview1.DataKeys[index].Value.ToString());

protected void
Gridview1_RowCommand(object sender, GridViewCommandEventArgs e)

{

if
(e.CommandName.Equals("detail"))

{

int index =
Convert.ToInt32(e.CommandArgument);

int code =
Convert.ToInt32(Gridview1.DataKeys[index].Value.ToString());

IEnumerable<DataRow>
query = from i in dt.AsEnumerable()

where
i.Field<int>("AId").Equals(code)

select i;

DataTable
detailTable = query.CopyToDataTable<DataRow>();

DetailsView1.DataSource
= detailTable;

DetailsView1.DataBind();

System.Text.StringBuilder
sb = new System.Text.StringBuilder();

sb.Append(@"<script
type='text/javascript'>");

sb.Append("$('#currentdetail').modal('show');");

sb.Append(@"</script>");​

ScriptManager.RegisterClientScriptBlock(this,
this.GetType(),

"ModalScript",
sb.ToString(), false);

}

tablomda veri var.

 
Gönderildi : 20/08/2014 13:19

(@serkanates)
Gönderiler: 1278
Üye
 

Bu satırı kodunuza ekleyip gelen değeri inceleyin.

MessageBox.Show(Gridview1.DataKeys[index].Value.ToString()); 

int code = Convert.ToInt32(Gridview1.DataKeys[index].Value.ToString());

....
 
Gönderildi : 25/09/2014 19:25

(@eravse)
Gönderiler: 1753
Üye
 

Yanlış hatırlamıyorsam ,

 

int code = Convert.ToInt32(Gridview1.DataKeys[index].Value.ToString()); kısmı 

int code = Convert.ToInt32(GridView1.DataKeys(row.RowIndex).Value); şeklinde olmalı  

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 26/09/2014 02:28

Paylaş: