2013-11-23 3 views
0

Мне нужно удалить строку из DataTable в соответствии с выбранным значением из табличногоудалить существующую строку из таблицы данных

Я попытался это сделать, но я не смог

protected void GV_Repair_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    var row = GV_Repair.Rows[e.RowIndex];        
    newdt.Rows.Remove();  
    bind_grid(); 
} 
+0

Любая ошибка, которую вы получили? –

ответ

0

Если у вас есть статический источник данных, вы можете сделать это:

protected void GV_Repair_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{  
    newdt.Rows.RemoveAt(e.RowIndex);  
    bind_grid(); 
} 

Если DataSource является динамическим, вы будете нужно скрытое поле (если вы не один уже) в поле Шаблон GridView в:

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:HiddenField ID="hdnId" runat="server" Value='<%# Eval("ID") %>' /> 
     <!-- Other Items --> 
    </ItemTemplate> 
</asp:TemplateField> 

И изменить строки метод удаления:

protected void GV_Repair_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{  
    int id = 0; 
    GridViewRow row = GV_Repair.Rows[e.RowIndex]; 
    HiddenField hdnId = row.FindControls("hdnId") as HiddenField; 

    if(hdnId != null && int.TryParse(hdnId.Value, out id) 
    { 
     //Logic to delete from table where Id = id 

    } 

    bind_grid(); 
} 
+0

Мой источник данных динамичен :( – user2743401

+0

Можете ли вы разместить разметку GridView? – afzalulh

+0

Я обновил свой ответ. – afzalulh

Смежные вопросы