protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
string str = ""; string scrstr=pid.Text.Trim()+",";
str=((Label)this.DataList1.Items[e.Item.ItemIndex].FindControl("Pid")).Text;
LinkButton lb = ((LinkButton)this.DataList1.Items[e.Item.ItemIndex].FindControl("Edit"));
for (int i = 0; this.DataList1.Items.Count; i++)
{
接下来就不知道怎样写了
}
}我的思路是想用循环来判断要移除的是哪一项,还有datalist里怎么没有remove方法呀??
{
string str = ""; string scrstr=pid.Text.Trim()+",";
str=((Label)this.DataList1.Items[e.Item.ItemIndex].FindControl("Pid")).Text;
LinkButton lb = ((LinkButton)this.DataList1.Items[e.Item.ItemIndex].FindControl("Edit"));
for (int i = 0; this.DataList1.Items.Count; i++)
{
接下来就不知道怎样写了
}
}我的思路是想用循环来判断要移除的是哪一项,还有datalist里怎么没有remove方法呀??
移除这个表中要移除的那一列,重新绑定到datalist
你自己綁定datalist應該有數據源吧,不是dataset就是datatable啦
你先處理它,再重新綁定數據源
如果是连数据库一起删那就象你那样写没错,加上主键
string id=this.DataList1.Datakeys[e.Item.ItemIndex].toString();
然后将是将获得的每行数据执行SQL语句了
如果是只删datatable
dataTable dt=....你的数据源
dataRow drs=dt.select(你的条件); ..例如name='张三',这个方法会返回一个Datarow数组
然后循环删除
Foreach(datarow dr in drs)
{
dt.remove(dr);
}
dt.Rows.RemoveAt(e.Item.ItemIndex);//从数据中移除当前选择的行
DataList1//重新绑定
DataList1.DataSource = dt;
DataList1.DataBind();这样做是没有问题但是我要是不按顺序点linkbutton删除就会出错啊,说e.item.itemindex找不到指定的行索引