DataGrid中FindControl的问题

hzqq 2003-10-20 12:45:12
为什么FindControl一个都找不到
全部是null跳过
每个控件都是<editTempleteItem>里面的<asp:TextBox>
id也设好了

private void changedata(bool isnum,string control,string datacolumn, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
TextBox editText = null;
editText = (TextBox)e.Item.FindControl(control);
if(editText!=null)
{
sql+=datacolumn+"=";
if(!isnum)sql+="'"+editText.Text+"'";
else sql+=editText.Text;
sql+=",";
}

}
private void update(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
BindGrid();
sql="update products set ";
int row = Convert.ToInt32(e.Item.ItemIndex);



TextBox editText = null;
changedata(false,"ProductName","name",e);
changedata(false,"Color","colour",e);
changedata(true,"Weight","weight",e);
changedata(false,"Size","size",e);
changedata(true,"Quantity","quantity",e);
changedata(true,"MinOrder","minorder",e);
changedata(false,"Certification","certification",e);
if(sql.LastIndexOf(",")==sql.Length-1)
{
sql=sql.Remove(sql.Length-1,1);
}
sql+=" where id="+dt.Rows[row]["id"].ToString();
Response.Write(sql);
ss.ExecNoResult(sql);



DataGrid1.EditItemIndex = -1;
BindGrid();

}
...全文
97 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
windofcity 2003-10-20
  • 打赏
  • 举报
回复
编辑模板里面得控件要该行处于编辑得时候才可以找到!
hzqq 2003-10-20
  • 打赏
  • 举报
回复
其中update是DataGrid中update时触发的
changedata是为了调用方便写的
阿拉丁 2003-10-20
  • 打赏
  • 举报
回复
1、模板列只有编辑时候能找到
2、 /// <summary>
/// To get the DataGrid control value
/// </summary>
/// <param name="Row">A zero based row number .</param>
/// <param name="ColumnID">Control Id in DataGrid .</param>
/// <returns>String</returns>
public string GetItemString( int Row,string ColumnID )
{
if ( Row > this.Items.Count ) return "";
DataGridItem dgItem = this.Items[Row];

// Try to find & deal with each control.
for(int i=0;i<dgItem.Cells.Count;i++)
{
for(int j=0;j<dgItem.Cells[i].Controls.Count;j++)
{
Control ctrl = dgItem.Cells[i].Controls[j];
if ( ctrl.ID == ColumnID && ctrl is TextBox ) return (( TextBox )ctrl).Text;
if ( ctrl.ID == ColumnID && ctrl is Label ) return (( Label )ctrl).Text;
}
}
return "";
}
hillseok 2003-10-20
  • 打赏
  • 举报
回复
楼主有没有试过不调用changedata,直接把changedata的代码写在update函数里?

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧