请大侠指点:为何在dataGrid中不能更新?

wxshzf 2003-10-15 11:46:25
设置edit,update,cancel列后,点编缉进行编缉,完成编缉后,点更新按纽但无法获取相应列的值:
private void OnUpdate(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string FirstName,LastName;
FirstName= e.Item.Cells[6].Text;
//获取的FirstName为空值,为什么???????????
DoDataBind();
//下面再接执行sql的update语句

}
但是按另一列的Delete按钮却可以获得其值:
private void OnDelete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
Mess.Text = e.Item.Cells[6].Text;//可获取相应列的值
DoDataBind();
}

protected void DoDataBind()
{
System.Data.DataSet MyDS;
System.Web .UI.WebControls.BoundColumn BndCol;

MyCon=new SqlConnection(ConStr);
MyCon.Open();
String SqlStr="Select EmployeeID,LastName,FirstName,Birthdate,Address,City From Employees Order by EmployeeID";
MyDA=new SqlDataAdapter(SqlStr,MyCon);
MyDS=new DataSet("MyDsName");//为新建的数据集合名为'MyDsName'
MyDA.Fill(MyDS,"Employees");
this.DataGrid1.DataSource=MyDS.Tables["Employees"].DefaultView;
BndCol=new BoundColumn();
BndCol.DataField="EmployeeID";
BndCol.HeaderText="职员号";
BndCol.ReadOnly=true;
BndCol.ItemStyle.HorizontalAlign=HorizontalAlign.Center;
this.DataGrid1.Columns.Add(BndCol);
this.DataGrid1.DataBind();
}
...全文
39 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lufly2000 2003-10-16
  • 打赏
  • 举报
回复
建议你在datagrid控件中显示FirstName的地方放置一个label控件,然后绑定到数据源,然后在更新过程中查找该控件试试。

例如:

Label lb=(Label)e.item.findcontrol("firstname")
if (lb!=null)
{
...................
}
hillseok 2003-10-16
  • 打赏
  • 举报
回复
要update完再绑定啊
hillseok 2003-10-16
  • 打赏
  • 举报
回复
你先确定DataGrid的列是自动生成的还是模板列,如果是模板列要用FindControl找到模板列中的控件才能更新
Dennis618 2003-10-16
  • 打赏
  • 举报
回复
我用vb.net寫時試過,加了這些解決了.
If (Me.Page.IsPostBack) Then
Return
End If
srj911 2003-10-16
  • 打赏
  • 举报
回复
可能你是用了datareader绑定,改为dataset试试
kwklover 2003-10-16
  • 打赏
  • 举报
回复
其中FirstName= e.Item.Cells[6].Text;改成
FirstName=ctype(e.Item.Cells[6].Controls(0),textbox).Text

62,039

社区成员

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

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

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

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