asp.net中如何访问Datagrid控件的任意单元格(某行某列)的值 希望实现功能:在dategrid的某一列中加入了textbox控件,当用户把每行中的textbox中输完值后,按提交按钮,把所有新输入值倒入数据库,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String user=((TextBox)(e.Item.FindControl("TextBox的名"))).Text; 就是"TextBox的名"不确定,使用模版做的web代码:<HeaderTemplate> ... </HeaderTemplate> <ItemTemplate> ... <td valign="middle" align="center"><font class="Normal"><asp:TextBox id="TextBox1" runat="server">%# DataBinder.Eval(Container.DataItem,"score")%></asp:TextBox> ... </ItemTemplate> <AlternatingItemTemplate> ... <td valign="middle" align="center"><font class="Normal"><asp:TextBox id="Textbox2" runat="server">%# DataBinder.Eval(Container.DataItem,"score")%></asp:TextBox></font></td> ... </AlternatingItemTemplate> ... 要从第一行便利到最后一行,取所有textbox值更新到数据库 用模板列实现 下面是代码private void DataGrid1_UpdateCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e) { string strID = e.Item.Cells[0].Text;//处于非编辑状态 string strDailyDate = ((TextBox)(e.Item.FindControl("Calendar2"))).Text; //在模板上添加的控件要用这种方法取值 string strUserName = e.Item.Cells[2].Text;//处于非编辑状态 string strTaskContent =((TextBox)(e.Item.Cells[3].Controls[0])).Text; string strProject = ((DropDownList)(e.Item.FindControl("DlistProject"))).SelectedItem.Value; string strTaskKind = ((DropDownList)(e.Item.FindControl("DlistTaskKind"))).SelectedItem.Value; string strTaskTime = ((TextBox)(e.Item.Cells[6].Controls[0])).Text; string strIsBargain = ((DropDownList)(e.Item.FindControl("listBargainE"))).SelectedItem.Value;//在模板上添加的控件要用这种方法取值 string strIsWorkTime = ((DropDownList)(e.Item.FindControl("listWorkTiemE"))).SelectedItem.Value;//在模板上添加的控件要用这种方法取值 string strDepartment = ((DropDownList)(e.Item.FindControl("listDepartmentE"))).SelectedItem.Value; string strProjectPhase = ((DropDownList)(e.Item.FindControl("DlistPhase"))).SelectedItem.Value; string strIsPlan = ((DropDownList)(e.Item.FindControl("DPlanE"))).SelectedItem.Value; string strCompleteCase = ((DropDownList)(e.Item.FindControl("DComplete"))).SelectedItem.Value; string strSql = "update daily set dailyDate='"+strDailyDate+"',userID="+Session["userid"]+""; strSql +=",userName='"+strUserName+"',taskContent='"+strTaskContent+"'"; strSql +=",project='"+strProject+"',taskKind='"+strTaskKind+"'"; strSql +=",taskTime="+strTaskTime+",isBargain="+strIsBargain+""; strSql +=",isWorkTime="+strIsWorkTime+",modifyTime=getdate()"; strSql +=",projectPhase='"+strProjectPhase+"',department='"+strDepartment+"',modifyTime=getdate()"; strSql +=",isPlan='"+strIsPlan+"',completeCase='"+strCompleteCase+"' where ID="+strID+""; ExecuteSql(strSql); DataGrid1.EditItemIndex = -1; BindData(); } 就是想问datagrid(ID="DataGrid1")怎么做轮询?int row=datagrid行数 //——?for (int i=0;i<row;i++){ String memo=DataGrid1.?[i].FindControl("Calendar2"))).Text; //——? //Update数据库记录里的memo ....} ArrayList ValueList = new ArrayList();foreach(DataGridItem item in DataGrid1){ string StrValue; StrValue = this.DataGrid1.Items[e.Item.ItemIndex].FindControl("Textbox1").ToString(); ValueList.Add(StrValue);} //下面利用微软的SqlHelper把值利用存储过程输入到数据库中 SqlHelper.ExecuteNonQuery(StrConnection, "sp_Update", ValueList) 编译错误:foreach 语句无法对“System.Web.UI.WebControls.DataGrid”类型的变量操作,因为“System.Web.UI.WebControls.DataGrid”不包含“GetEnumerator”的定义,或它是不可访问的 for(int i=0;i<DataGrid1.Items.Count;i++){ for(int j=0;j<DataGrid1.Items[i].Cells.Count;j++) { string aa=DataGrid1.Items[i].Cells[j].Text.ToString(); }} JimFire(阿达【黄牛帮】| 大管家)的ArrayList ValueList = new ArrayList();foreach(DataGridItem item in DataGrid1)———〉DataGrid1.items{ string StrValue; StrValue = this.DataGrid1.Items[e.Item.ItemIndex].FindControl("Textbox1").ToString(); ValueList.Add(StrValue);} //下面利用微软的SqlHelper把值利用存储过程输入到数据库中 SqlHelper.ExecuteNonQuery(StrConnection, "sp_Update", ValueList) asp.net 用Dreamweaver制作网页的问题 类似vs2005里的工具拦,属性窗口的缩放按钮是怎么做的? 怎样使DropDownList不可选 Server.Mappth 如何让页面中一个table的宽度随着主页面的滚动条的拖动而自动适应 图片显示问题!求救啊! 关于CSS设定的问题 向大哥们学习学习 ^^^请问进入系统时,如何页面最大化??? win2008下网站布署问题 求一个保存值方法 javascript的问题!帮帮忙好吗?在线等!
web代码:
<HeaderTemplate>
... </HeaderTemplate>
<ItemTemplate>
... <td valign="middle" align="center"><font class="Normal"><asp:TextBox id="TextBox1" runat="server">%# DataBinder.Eval(Container.DataItem,"score")%></asp:TextBox> ...
</ItemTemplate>
<AlternatingItemTemplate>
... <td valign="middle" align="center"><font class="Normal"><asp:TextBox id="Textbox2" runat="server">%# DataBinder.Eval(Container.DataItem,"score")%></asp:TextBox></font></td>
...
</AlternatingItemTemplate> ...
private void DataGrid1_UpdateCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strID = e.Item.Cells[0].Text;//处于非编辑状态
string strDailyDate = ((TextBox)(e.Item.FindControl("Calendar2"))).Text; //在模板上添加的控件要用这种方法取值
string strUserName = e.Item.Cells[2].Text;//处于非编辑状态
string strTaskContent =((TextBox)(e.Item.Cells[3].Controls[0])).Text;
string strProject = ((DropDownList)(e.Item.FindControl("DlistProject"))).SelectedItem.Value;
string strTaskKind = ((DropDownList)(e.Item.FindControl("DlistTaskKind"))).SelectedItem.Value;
string strTaskTime = ((TextBox)(e.Item.Cells[6].Controls[0])).Text;
string strIsBargain = ((DropDownList)(e.Item.FindControl("listBargainE"))).SelectedItem.Value;//在模板上添加的控件要用这种方法取值
string strIsWorkTime = ((DropDownList)(e.Item.FindControl("listWorkTiemE"))).SelectedItem.Value;//在模板上添加的控件要用这种方法取值
string strDepartment = ((DropDownList)(e.Item.FindControl("listDepartmentE"))).SelectedItem.Value;
string strProjectPhase = ((DropDownList)(e.Item.FindControl("DlistPhase"))).SelectedItem.Value;
string strIsPlan = ((DropDownList)(e.Item.FindControl("DPlanE"))).SelectedItem.Value;
string strCompleteCase = ((DropDownList)(e.Item.FindControl("DComplete"))).SelectedItem.Value;
string strSql = "update daily set dailyDate='"+strDailyDate+"',userID="+Session["userid"]+"";
strSql +=",userName='"+strUserName+"',taskContent='"+strTaskContent+"'";
strSql +=",project='"+strProject+"',taskKind='"+strTaskKind+"'";
strSql +=",taskTime="+strTaskTime+",isBargain="+strIsBargain+"";
strSql +=",isWorkTime="+strIsWorkTime+",modifyTime=getdate()";
strSql +=",projectPhase='"+strProjectPhase+"',department='"+strDepartment+"',modifyTime=getdate()";
strSql +=",isPlan='"+strIsPlan+"',completeCase='"+strCompleteCase+"' where ID="+strID+"";
ExecuteSql(strSql);
DataGrid1.EditItemIndex = -1;
BindData(); }
int row=datagrid行数 //——?
for (int i=0;i<row;i++)
{
String memo=DataGrid1.?[i].FindControl("Calendar2"))).Text; //——?
//Update数据库记录里的memo
....
}
foreach(DataGridItem item in DataGrid1)
{
string StrValue;
StrValue = this.DataGrid1.Items[e.Item.ItemIndex].FindControl("Textbox1").ToString();
ValueList.Add(StrValue);
} //下面利用微软的SqlHelper把值利用存储过程输入到数据库中
SqlHelper.ExecuteNonQuery(StrConnection, "sp_Update", ValueList)
foreach 语句无法对“System.Web.UI.WebControls.DataGrid”类型的变量操作,因为“System.Web.UI.WebControls.DataGrid”不包含“GetEnumerator”的定义,或它是不可访问的
{
for(int j=0;j<DataGrid1.Items[i].Cells.Count;j++)
{
string aa=DataGrid1.Items[i].Cells[j].Text.ToString();
}
}
ArrayList ValueList = new ArrayList();
foreach(DataGridItem item in DataGrid1)———〉DataGrid1.items
{
string StrValue;
StrValue = this.DataGrid1.Items[e.Item.ItemIndex].FindControl("Textbox1").ToString();
ValueList.Add(StrValue);
} //下面利用微软的SqlHelper把值利用存储过程输入到数据库中
SqlHelper.ExecuteNonQuery(StrConnection, "sp_Update", ValueList)