Merhabalar, Dinamik bir tablom var satır silme işleminde sorun yaşıyorum. Her satırın yanında silme işlemini gerçekleştirmek için koyduğum LinkButton um var.LinkButtona tıklayınca tüm satırlar içerisindeki veriler temizleniyor ve satırım 1 eksiliyor. Sadece bulunduğum satırın silinmesini istiyorum hatam nerede aceba aydınlatabilir misiniz?
protected void LinkButton1_Click(object sender, EventArgs e)
{
LinkButton lb = (LinkButton)sender;
GridViewRow gvRow = (GridViewRow)lb.NamingContainer;
int rowID = gvRow.RowIndex;
if (ViewState["datatable"] != null)
{
DataTable dt = (DataTable)ViewState["datatable"];
if (dt.Rows.Count > 1)
{
if (gvRow.RowIndex < dt.Rows.Count )
{
//Remove the Selected Row data
dt.Rows.Remove(dt.Rows[rowID]);
RRID(dt);
}
}
//Store the current data in ViewState for future reference
ViewState["datatable"] = dt;
//Re bind the GridView for the updated data
GridView1.DataSource = dt;
GridView1.DataBind();
}
//Set Previous Data on Postbacks
SetPreviousData();
}
private void RRID(DataTable dt)
{
int rowNumber = 1;
if (dt.Rows.Count > 0)
{
foreach (DataRow row in dt.Rows)
{
row[0] = rowNumber;
rowNumber++;
}
}
}
private void SetPreviousData()
{
int rowIndex = 0;
if (ViewState["datatable"] != null)
{
DataTable dt = (DataTable)ViewState["datatable"];
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
TextBox box1 = (TextBox)GridView1.Rows[rowIndex].Cells[1].FindControl("barkodtxt");
TextBox box2 = (TextBox)GridView1.Rows[rowIndex].Cells[2].FindControl("uruntxt");
TextBox box3 = (TextBox)GridView1.Rows[rowIndex].Cells[3].FindControl("skttxt");
TextBox box4 = (TextBox)GridView1.Rows[rowIndex].Cells[4].FindControl("irsaliyetxt");
TextBox box5 = (TextBox)GridView1.Rows[rowIndex].Cells[5].FindControl("gelenadettxt");
TextBox box6 = (TextBox)GridView1.Rows[rowIndex].Cells[6].FindControl("eksikadettxt");
box1.Text = dt.Rows[i]["BARKOD"].ToString();
box2.Text = dt.Rows[i]["URUN"].ToString();
box3.Text = dt.Rows[i]["SKT"].ToString();
box4.Text = dt.Rows[i]["IRSALIYE"].ToString();
box5.Text = dt.Rows[i]["GELEN ADET"].ToString();
box6.Text = dt.Rows[i]["EKSIK ADET"].ToString();
rowIndex++;
}
}
}
}