Asp修改GridView中的数据变通方法

李国帅于2008年

集成连接对象,在grid单元位置放置一个textbox,看上去就像是直接在grid上更改。



<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<Script Languate="VB" Runat="Server">
  
Function CreateDataSet(strSQL As String, FileName As String, TableName As String) As DataSet
    Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(FileName)
    Dim objCmd As New OleDbDataAdapter(strSQL, ConnString)
    Dim DS As New DataSet()
    objCmd.Fill(DS, TableName)
    CreateDataSet = DS
  End Function

Sub BindList()
    Dim strSQL As String = "Select Top 5 d_bookname As 书名,d_author As 作者,profession_no As  适用专业,d_id From t_source"
    myDataList.DataSource = CreateDataSet(strSQL, "ssyyrr.mdb", "教学参考书")
    myDataList.DataMember="教学参考书"
    myDataList.DataBind()
End Sub

Sub Page_Load(sender As Object, e As Eventargs)
    If Not IsPostBack Then BindList()
End Sub

Sub DataList_EditCommand(sender As Object, e As DataListCommandEventArgs)
    myDataList.EditItemIndex = e.Item.ItemIndex
    BindList()
End Sub

Sub DataList_CancelCommand(sender As Object, e As DataListCommandEventArgs)
    myDataList.EditItemIndex = -1
    BindList()
End Sub

Sub ExecuteSQL(strSQL As String)
    Dim objConn As New OleDbConnection()
    objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Ssyyrr.mdb")
    objConn.Open()
    Dim objCmd As New OleDbCommand(strSQL, objConn)
    objCmd.ExecuteNonQuery
  End Sub

Sub DataList_DeleteCommand(sender As Object, e As DataListCommandEventArgs)
    Dim strSQL As String = "Delete From t_source Where " & myDataList.DataKeyField & "=" & myDataList.DataKeys(e.Item.ItemIndex)
    ExecuteSQL(strSQL)
    myDataList.EditItemIndex = -1
    BindList()
End Sub

Sub DataList_UpdateCommand(sender As Object, e As DataListCommandEventArgs)
    Dim d_bookname As String = CType(e.Item.FindControl("d_bookname"), TextBox).Text
    Dim d_author As String = Ctype(e.Item.FindControl("d_author"), TextBox).Text
    Dim profession_no As String = Ctype(e.Item.FindControl("profession_no"), TextBox).Text
    Dim strSQL As String = "Update t_source Set d_bookname='" & d_bookname & "',d_author ='" & d_author & "',profession_no ='" & profession_no & "' Where " & myDataList.DataKeyField & "=" & myDataList.DataKeys(e.Item.ItemIndex)
    ExecuteSQL(strSQL)
    myDataList.EditItemIndex = -1
    BindList()
End Sub
</Script>
<Html>
<Body BgColor="#ffffcc">
    <H1 Align="Center">教学参考书管理系统</H1>
    <Form Runat="Server">
    <Asp:DataList Runat="Server" Id="myDataList" CellPadding="3" Width="700"
       HorizontalAlign="Center" OnEditCommand="DataList_EditCommand"
       OnUpdateCommand="DataList_UpdateCommand" OnDeleteCommand="DataList_DeleteCommand"
       OnCancelCommand="DataList_CancelCommand" DataKeyField="d_id"
       ExtractTemplateRows="True" Border="1" BorderColor="#ffffcc" GridLines="Horizontal">

    <HeaderTemplate>
        <Asp:Table Runat="Server">

        <Asp:TableRow Runat="Server" HorizontalAlign="Center">
        <Asp:TableCell Runat="Server">书名</Asp:TableCell>
        <Asp:TableCell Runat="Server">作者</Asp:TableCell>
        <Asp:TableCell Runat="Server">适用专业
        </Asp:TableCell><Asp:TableCell Runat="Server">操作</Asp:TableCell>
        </Asp:TableRow>
        </Asp:Table>
        </HeaderTemplate>

    <ItemTemplate>
        <Asp:Table Runat="Server">
        <Asp:TableRow Runat="Server" HorizontalAlign="Left">
        <Asp:TableCell Runat="Server"><%# Container.DataItem("书名") %></Asp:TableCell>
        <Asp:TableCell Runat="Server"><%# Container.DataItem("作者") %></Asp:TableCell>
        <Asp:TableCell Runat="Server" HorizontalAlign="Center"><%# Container.DataItem("适用专业") %></Asp:TableCell>
              <Asp:TableCell Runat="Server" HorizontalAlign="Center"><Asp:LinkButton Runat="Server" Text="编辑" CommandName="Edit"/></Asp:TableCell>
        </Asp:TableRow>
        </Asp:Table>
    </ItemTemplate>

    <EditItemTemplate>
        <Asp:Table Runat="Server">
        <Asp:TableRow Runat="Server" HorizontalAlign="Left">
        <Asp:TableCell Runat="Server">
        <Asp:TextBox Runat="Server" Id="d_bookname" Text='<%# Container.DataItem("书名")  %>' Width="250pt" />
        </Asp:TableCell>
        <Asp:TableCell Runat="Server">
        <Asp:TextBox Runat="Server" Id="d_author" Text='<%# Container.DataItem("作者") %>'  Width="50pt"/>
        </Asp:TableCell>
        <Asp:TableCell Runat="Server" HorizontalAlign="Center">
        <Asp:TextBox Runat="Server" Id="profession_no" Text='<%# Container.DataItem("适用专业") %>' Width="25pt" />
        </Asp:TableCell>
              <Asp:TableCell Runat="Server" Width="75pt" HorizontalAlign="Center">
        <Asp:LinkButton Runat="Server" Width="20" Text="更新" CommandName="Update" />
        <Asp:LinkButton Runat="Server" Width="20" Text="删除" CommandName="Delete" />
        <Asp:LinkButton Runat="Server" Width="20" Text="取消" CommandName="Cancel" />
        </Asp:TableCell>
        </Asp:TableRow>
        </Asp:Table>
    </EditItemTemplate>

    <HeaderStyle HorizontalAlign="Center" BackColor="#66CCFF" ForeColor="Crimson" />
    <ItemStyle BackColor="Moccasin" />
    <EditItemStyle BackColor="Lavender" />
    </Asp:DataList>
    </Form>
</Body>
</Html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微澜-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值