当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net中一次更新DATAGRID中所有记录

ASP.NET
LINQ学习笔记:元素操作符
LINQ学习笔记:聚合方法
LINQ学习笔记:量词
LINQ学习笔记:创建方法
LINQ学习笔记:LINQ to XML
LINQ学习笔记:X-DOM概览
LINQ学习笔记:实例化一个X-DOM
LINQ学习笔记:导航和查询X-DOM
LINQ学习笔记:更新一个X-DOM
LINQ学习笔记:string类型的Value属性
LINQ学习笔记:XML命名空间
LINQ学习笔记:投射到X-DOM
C#教程:声明和调用扩展方法
C#教程:没有扩展方法的日子
C#教程:lambda表达式转换成表达式树
C#教程:编程方式构建表达式树
C#教程:使用lambda表达式记录事件日志
C#教程:作为委托的Lambda表达式
C#教程:关于匿名类型的特性
C#教程:隐式类型数组

ASP.NET 中的 asp.net中一次更新DATAGRID中所有记录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 196 ::
收藏到网摘: n/a

在asp.net中,如何一次性更新datagrid中的所有记录呢?可以用如下的方法,首先,
要对DATAGRID中要更新的列建立模版列,比如:


asp:datagridid="dgPopularFAQs"runat="server"
AutoGenerateColumns="False"
...>
<Columns>
<asp:BoundColumnDataField="FAQID"ItemStyle-Width="10%"
ItemStyle-HorizontalAlign="Center"HeaderText="FAQID"/>

<asp:BoundColumnDataField="CategoryName"HeaderText="Category"/>

<asp:TemplateColumnHeaderText="Question">
<ItemTemplate>
<asp:TextBoxrunat="server"id="txtDescription"Columns="75"
Text='<%#Container.DataItem("Description")%>'/>
</ItemTemplate>
</asp:TemplateColumn>

<asp:TemplateColumnHeaderText="SubmittedBy">
<ItemTemplate>
<asp:TextBoxrunat="server"id="txtSubmittedBy"
Text='<%#Container.DataItem("SubmittedByName")%>'/>
</ItemTemplate>
</asp:TemplateColumn>

</Columns>
</asp:datagrid>
之后,对DATAGRID进行一次遍历,
DimmyConnectionasNewSqlConnection(connectionstring)
DimmyCommandasNewSqlCommand(strSQL,myConnection)

DimdgiasDataGridItem
ForEachdgiindgPopularFAQs.Items
'ReadinthePrimaryKeyField
DimidasInteger=Convert.ToInt32(dgPopularFAQs.DataKeys(dgi.ItemIndex))
DimquestionasString=CType(dgi.FindControl("txtDescription"),TextBox).Text
DimsubmittedByasString=CType(dgi.FindControl("txtSubmittedBy"),TextBox).Text

'IssueanUPDATEstatement...
DimupdateSQLasString="UPDATETableNameSETQuestion=@Question,"&_
"SubmittedByName=@SubmittedByNameWHEREFAQID=@ID"
myCommand.Parameters.Clear()
myCommand.Parameters.Add("@Question",question)
myCommand.Parameters.Add("@SubmittedByName",submittedBy)

myCommand.ExecuteNonQuery()
Next