源码如下: protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
//string gid = Session["gid"].ToString();
string gid = "16";
string sql_jg = "select nid,lbmc from dbo.t_JieGuoInfo where gid=" + gid + " and zt='1' and pid<>0";
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["YxConnection"].ToString().Trim());
SqlDataAdapter da = new SqlDataAdapter(sql_jg, conn);
DataSet ds = new DataSet();
da.Fill(ds, "table1");
if (e.Item.ItemType == ListItemType.EditItem)
{
DropDownList ddl = (DropDownList)e.Item.FindControl("dep_jieguo");
ddl.DataSource = ds.Tables["table1"];
ddl.DataTextField = "lbmc"; //
ddl.DataValueField = "nid";
ddl.DataBind();
ddl.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem, "nid"))).Selected = true;//选择数据库内的作为默认
}
}
protected void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e)
{
this.DataGrid1.EditItemIndex = e.Item.ItemIndex;
BindData(); }
public void BindData()
{
try
{
cmd = new SqlCommand(sqls, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
ds = new DataSet();
DataGrid1.DataSource = ds.Tables["SLC_call"]/*.DefaultView*/;
DataGrid1.DataBind();
}
catch (Exception ex)
{
Response.Write("<script>alert('错误的操作.')</script>");
}
}
问题是:在没有启用启用DataGrid.ItemDataBound事件时,点编辑按钮时,呈现的数据全部正常,当加上这个事件后,我点编辑时,编辑的数据上面的显示,下面的列不显示.
假如:有4条数据:a,b,c,d,如果当前编辑B数据时,那么,点编辑后,C,D就不呈现出来了了?不知什么原因?
{
//string gid = Session["gid"].ToString();
string gid = "16";
string sql_jg = "select nid,lbmc from dbo.t_JieGuoInfo where gid=" + gid + " and zt='1' and pid<>0";
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["YxConnection"].ToString().Trim());
SqlDataAdapter da = new SqlDataAdapter(sql_jg, conn);
DataSet ds = new DataSet();
da.Fill(ds, "table1");
if (e.Item.ItemType == ListItemType.EditItem)
{
DropDownList ddl = (DropDownList)e.Item.FindControl("dep_jieguo");
ddl.DataSource = ds.Tables["table1"];
ddl.DataTextField = "lbmc"; //
ddl.DataValueField = "nid";
ddl.DataBind();
ddl.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem, "nid"))).Selected = true;//选择数据库内的作为默认
}
}
protected void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e)
{
this.DataGrid1.EditItemIndex = e.Item.ItemIndex;
BindData(); }
public void BindData()
{
try
{
cmd = new SqlCommand(sqls, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
ds = new DataSet();
DataGrid1.DataSource = ds.Tables["SLC_call"]/*.DefaultView*/;
DataGrid1.DataBind();
}
catch (Exception ex)
{
Response.Write("<script>alert('错误的操作.')</script>");
}
}
问题是:在没有启用启用DataGrid.ItemDataBound事件时,点编辑按钮时,呈现的数据全部正常,当加上这个事件后,我点编辑时,编辑的数据上面的显示,下面的列不显示.
假如:有4条数据:a,b,c,d,如果当前编辑B数据时,那么,点编辑后,C,D就不呈现出来了了?不知什么原因?
解决方案 »
- asp.net网页打包怎么样在用户桌面创建快捷方式
- VIEW与Controllers多层文件夹时,Controllers如何定向VIEW
- 关于Control.RenderControl的疑惑
- ascx控件如何调用javascript的onload事件
- 使用js脚本控制控件的值,后台文件获取不到
- asp.net ajax UpdatePanel控件使用
- 如何用vs2003实现这种效果:您当前所在位置:首页 〉采购区 〉详细信息
- Forms身份验证
- 有关[]的问题
- treeview超链接的问题!交差时间快到了,各位高手帮忙啊!
- asp.net 怎样动态改变media播放器地址
- repeater的linkbutton中删除数据问题?(在线等)
if (e.Item.ItemType == ListItemType.EditItem)
因为调用DataGrid1_ItemDataBound方法时,会对所有数据项加载。