paraset.aspx

来自「ASP.NET开发实战详解」· ASPX 代码 · 共 278 行

ASPX
278
字号
<%@ Page Language="VB" Debug="true" %>
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.sqlclient" %>
<script runat="server">
    dim Cnn as sqlconnection
              dim cmd as sqlcommand
              Sub Page_Load(Sender As Object, E As EventArgs)
                  If Not IsPostBack Then
         If Session("curruser") = "" Then
            Response.Redirect("../index.aspx")
         End If
	            Seltype.DataSource = CreateDataSource()
        	    Seltype.DataTextField = "name"
	            Seltype.DataValueField = "typecode"
        	    Seltype.DataBind()
                    BindGrid()
                  End If
              End Sub


	      Function CreateDataSource() As ICollection
		dim dtcmd as sqldataadapter
	        dim dset as dataset
        	cnn=new sqlconnection(configurationsettings.appsettings("connection"))
	        dtcmd=new sqldataadapter("select * from fw_para where type='title' order by id",cnn)
        	dset=new dataset
	        dtcmd.fill(dset)
        	Dim dv As New DataView(dset.tables(0))
	        Return dv
        	cnn.close()
	    End Function
    
              Sub Save_Click(Sender As Object, E As EventArgs)
                  dim codeStr as string=code.text
                  dim nameStr as string=name.text
                  dim typeStr as string=seltype.selecteditem.value
		  dim memostr as string=memo.text
                  dim sql as string
                  dim dataR as sqldatareader
                  cnn=new sqlconnection(configurationsettings.appsettings("connection"))
                  cnn.open()
                  sql="select * from fw_para where type='" & typestr & "' and (name='" & trim(namestr) & "' or code='" & codestr & "')"
                  cmd=new sqlcommand(sql,cnn)
                  datar=cmd.executereader()
                  if datar.read() then
                    page.registerstartupscript("",getalertinfo("该类型下的代码或名称重复,无法保存!"))
                  else
                    datar.close()
                    sql="insert into fw_para(code,name,type,memo) values('" & codestr & "','" & namestr & "','" & typestr & "','" & memostr & "')"
                    cmd=new sqlcommand(sql,cnn)
                    cmd.executeNonQuery
                    cnn.close()
                    bindgrid()
                    call cleardata()	
                    page.registerstartupscript("",getalertinfo("数据保存成功!"))
  		  end if
              End Sub

              Sub Clear_Click(Sender As Object, E As EventArgs)
		call cleardata()
              End Sub
    
	      sub cleardata()
        	code.text=""
		name.text=""
		memo.text=""
              end sub
	    
		    
                   Sub BindGrid()
                      dim dataR as sqldatareader
                      dim dtcmd as sqldataadapter
                      dim dt as new datatable
		      dim thetype as string =seltype.selecteditem.value
                      dim MaxPage as integer  '计算最大页数
                      dim str2 as string
                      dim Str1 as string
	              dim i as integer
                      dim sumrecord as integer
                      cnn=new sqlconnection(configurationsettings.appsettings("connection"))
                      str2="select count(*) as nums from fw_para where type='" & thetype & "'"
                      cmd=new sqlcommand(str2,cnn)
                      cnn.open()
                      datar=cmd.executereader()
                      if datar.read() then
                         if datar("nums").tostring()="0" then
                            msg.text=""
                         else
                            msg.text="合计:记录数 " & datar("nums").tostring()
                         end if
                      end if
                      datar.close()
		      str1="select code,name,(select name from fw_para where type='title' and typecode=a.type) as type,type as typename,memo from fw_para a where type='" & thetype & "' order by code" 	
                      dtcmd=new sqldataadapter(str1,cnn)
                      dtcmd.fill(dt)
                      if (dt.defaultview.count mod datagrid1.pagesize)>0 then
                         maxpage=dt.defaultview.count \datagrid1.pagesize+1
                      else
                         maxpage=dt.defaultview.count \datagrid1.pagesize
                      end if
                      do while datagrid1.currentpageindex>0
                         if maxpage<datagrid1.currentpageindex+1 then
                           datagrid1.currentpageindex=datagrid1.currentpageindex-1
                         else
                           exit do
                        end if
                      loop
                      datagrid1.datasource=dt
                      datagrid1.databind()
                      cnn.close()
                   End Sub
    
         Sub Grid1_Update(Sender as object,E as DataGridCommandEventArgs)
             dim NameStr as String=CType(E.Item.Cells(1).Controls(0),TextBox).Text
             dim memoStr As string=CType(E.Item.Cells(3).Controls(0),TextBox).Text
             dim CodeStr as String=E.Item.Cells(0).Text
	     dim typestr as string=E.Item.Cells(4).text
             dim sql as string
             cnn=new sqlconnection(configurationsettings.appsettings("connection"))
             cnn.open()
             sql="update fw_para set name='" & namestr & "',memo='" & memostr & "' where code='" & codestr & "' and type='" & typestr & "'"
             cmd=new sqlcommand(sql,cnn)
             cmd.executeNonQuery
             cnn.close()
             DataGrid1.EditItemIndex=-1
             BindGrid()
             Requiredfieldvalidator1.Enabled=True
             Requiredfieldvalidator2.Enabled=True
         End Sub
    
         Sub Grid1_Cancel(Sender as object,E as DataGridCommandEventArgs)
             Requiredfieldvalidator1.Enabled=True
             Requiredfieldvalidator2.Enabled=True
             datagrid1.EditItemIndex=-1
             BindGrid()
         End Sub
    
         Sub Grid1_Edit(Sender as object,E as DataGridCommandEventArgs)
             Requiredfieldvalidator1.Enabled=False
             Requiredfieldvalidator2.Enabled=False
             DataGrid1.EditItemIndex=E.Item.ItemIndex
             BindGrid()
         End Sub    

	    Sub ChangeType(sender As Object, e As EventArgs)        
  		  dim typestr as string=seltype.selecteditem.value
                  dim sql as string
                  dim dataR as sqldatareader
                  cnn=new sqlconnection(configurationsettings.appsettings("connection"))
                  cnn.open()
                  sql="select * from fw_para where typecode='" & typestr & "'"
                  cmd=new sqlcommand(sql,cnn)
                  datar=cmd.executereader()
                  if datar.read() then
		     disp.text="[" & datar("memo").tostring & "]"
	 	  else
		     disp.text=""
		  end if
		  datar.close
		  cnn.close
        	bindgrid()
	    End Sub

    
                   Sub Grid1_Mod(Sender as object,E as DataGridCommandEventArgs)
	             dim CodeStr as String=E.Item.Cells(0).Text
		     dim typestr as string=E.Item.Cells(4).text
                       dim sql as string
                       if CType(e.CommandSource,LinkButton).CommandName="Delete" then
                          cnn=new sqlconnection(configurationsettings.appsettings("connection"))
                          cnn.open()
                          sql="delete from fw_para where code='" & codestr & "' and type='" & trim(typestr) & "'"
                          cmd=new sqlcommand(sql,cnn)
                          cmd.executeNonQuery
                          cnn.close()
                          bindgrid()
                       end if
                   End Sub
    
                   Sub Grid1_PageIndexChanged(Sender As Object, E As DataGridPageChangedEventArgs)
                       datagrid1.CurrentPageIndex = e.NewPageIndex
                       BindGrid()
                   End Sub
    
    
              Function GetAlertInfo(byval str1 as string) as String
                  dim Str2 as String
                  str2="<script language='javascript'>alert('" & str1 & "')<"
                  str2+="/"
                  str2+="script>"
                  return trim(str2)
              End Function

</script>
<html>
<head>
    <title>参数设置</title>
    <link href="../Main.css" type="text/css" rel="stylesheet" />
    <script language="javascript">
       function openwin(src)
       {
          var vDialog=null;
          vDialog=showModalDialog(src,window,"status:no;resizable:off;dialogHeight:500px;dialogWidth:750px;unadorne:yes;help:no");
          location.reload();
       }

    </script>
</head>
<body leftmargin="0" background="../images/1.jpg">
    <form runat="server">
                <table id="search" cellspacing="1" cellpadding="0" width="80%" align="center" border="0">
                    <tbody>
                        <tr class="tr4">
                            <td height="60" width="40%">
                                参数类别
                                <asp:DropDownList class="input_text" id="Seltype" runat="server" width="140" OnSelectedIndexChanged="ChangeType" autopostback="true"></asp:DropDownList>
                            </td>
                            <td>
                                <asp:label id="disp" forecolor="Blue" runat="server"></asp:label>
                            </td>
                        </tr>
                        <tr class="tr4">
                            <td height="40">
                                代&nbsp;&nbsp;&nbsp;&nbsp;码
                                <asp:TextBox class="input_text" id="code" runat="server" width="140"></asp:TextBox>
                            </td>
                            <td>
                                名&nbsp;&nbsp;&nbsp;&nbsp;称
                                <asp:TextBox class="input_text" id="name" runat="server" width="250"></asp:TextBox>
                            </td>
                        </tr>
                        <tr class="tr4">
                            <td colspan="2" height="40">
                                备&nbsp;&nbsp;&nbsp;&nbsp;注
                                <asp:TextBox class="input_text" id="memo" runat="server" width="520"></asp:TextBox>
                            </td>
                        </tr>
                    </tbody>
                </table>
		<p align=center>
		<asp:button class="input_button" id="SaveBtn" onclick="Save_Click" runat="server" text="保  存"></asp:button><br>
                <asp:RequiredFieldValidator id="Requiredfieldvalidator1" runat="server" ErrorMessage="*" ControlToValidate="code">代码不可为空</asp:RequiredFieldValidator>
		&nbsp;&nbsp;&nbsp;&nbsp;
                <asp:RequiredFieldValidator id="Requiredfieldvalidator2" runat="server" ErrorMessage="*" ControlToValidate="name">名称不可为空</asp:RequiredFieldValidator>
		</p>
                <table class="" id="search" cellspacing="1" cellpadding="0" width="80%" align="center" border="0">
                    <tbody>
                        <tr class="tr2">
                            <td><hr></td>
                        </tr>
                        <tr class="tr2">
                            <td style="PADDING-LEFT: 5px" height="25">
                                <asp:Label id="Msg" runat="server" forecolor="red"></asp:Label></td>
                        </tr>
                        <tr>
                            <td style="PADDING-LEFT: 5px" height="25">
                                    <asp:DataGrid id="DataGrid1" runat="server" width="100%" OnPageIndexChanged="Grid1_PageIndexChanged" AllowSorting="True" AllowPaging="True" Font-Names="verdana" bordercolor="Black" cellpadding="2" font-name="verdana" font-size="8pt" headerstyle-backcolor="#F8FAFC" OnEditCommand="Grid1_Edit" OnCancelCommand="Grid1_Cancel" OnupdateCommand="Grid1_Update" OnItemCommand="Grid1_Mod" AutoGenerateColumns="False" PageSize="10">
                                        <HeaderStyle font-bold="True" horizontalalign="Center" verticalalign="Middle" backcolor="#F8FAFC"></HeaderStyle>
                                        <PagerStyle nextpagetext="下一页" font-names="宋体" font-bold="True" prevpagetext="上一页" horizontalalign="Right" forecolor="Blue" mode="NumericPages"></PagerStyle>
                                        <EditItemStyle backcolor="#E9F0F8"></EditItemStyle>
                                        <Columns>
                                            <asp:BoundColumn DataField="Code" ReadOnly="True" HeaderText="代  码"></asp:BoundColumn>
                                            <asp:BoundColumn DataField="Name" HeaderText="名  称"></asp:BoundColumn>
                                            <asp:BoundColumn DataField="type" readonly="true" HeaderText="类  别"></asp:BoundColumn>
                                            <asp:BoundColumn DataField="memo" HeaderText="备  注"></asp:BoundColumn>
					    <asp:BoundColumn DataField="typename" visible="false" readonly="true" HeaderText="所属类别"></asp:BoundColumn> 
                                            <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="编辑" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
                                            <asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete"></asp:ButtonColumn>
                                        </Columns>
                                    </asp:DataGrid>
                            </td>
                        </tr>
                    </tbody>
                </table>
    </form>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?