2013-10-31 67 views
2

的DataSource已经提供给GridView控件,如下图所示,它工作正常现在删除行的GridView数据绑定后()

dummyGridview.DataSource = dtUser; //dtUser is DataTable 
dummyGridview.DataBind(); 

没有​​命令,是否有可能从GridView的删除任何特定行基于DataKeyNamesDatabind()之后?

for (int i = 0; i < dtUser.Rows.Count; i++) 
{ 
    //check 
    if(dtUser.Rows[i]["DataKeyName"].ToString()) == yourValue)) 
    { 
     //remove 
     dtUser.Rows.Remove(dtUser.Rows[i]); 
     break; 
    } 
} 

然后

dummyGridview.DataSource = dtUser; 
dummyGridview.DataBind(); 

希望它能解决你的目的:

+1

为什么不直接删除DataTable中的行之前你绑定? – ElGavilan

+0

因为它会减少我的复杂性,否则我需要检查很多条件 –

+0

@ElGavilan是的,你是对的,我没有想过这样做。谢谢 –

回答

3

如果您从DataTable首先删除特定的行,然后绑定到gridview,如下图所示这将是很好的。

0

,如果你想从您可以使用下面的代码的数据表中删除超过1行:后

for(int i = 0; i < dtUser.Rows.Count; i++) 
{ 
    if (dtUser.Rows[i]["DataKeyName"] == req.value) 
    { 
     dtUser.Rows.Remove(dtUser.Rows[i]); 
     i--; 
    } 
} 

可以绑定数据库