VB.NET总结

'1 日期类型的转换:
'2 DataGrid中,文本框中取值方式:
'3 查询结果取值方式:
'4 DataGrid中合并相同的项(行或列):
'5 DataGrid中显示时为Label,按下编辑后变为DropDownList。
'6 调用脚本:必须放在Page_load()事件时.具体样式如下:
'7 权限验证,画面跳转:
'8 打开新的窗口,并传送参数:
'9 为按钮添加对话框:
'10 Panel横向滚动,纵向自动扩展

'11在画面中加上"ページ"
'12选中一行时背景颜色改变
'13DataGrid 编辑时文本框的长度 用百分比来表示.
'14DataGrid分页时绑定数据
'15 Enum媒举

'合并路径,并返回正确的路径

 

 

'1日期类型的转换:
Format(YoteiDate, "yy/MM/dd")               '设置日期类型显示格式.不能是"yy/mm/dd".mm不能小写.
CDate(Me.dgrdList.Items(nN).Cells(24).Text) '将文本类型转换为日期类型.
CDate(Uketuke_Date).AddDays(nProjecthisu - 1)'日期类型中增加或减少一天/月等.

 

'2DataGrid中,文本框中取值方式:
CType(Me.dgrdList.Items(nN).Cells(23).FindControl("dgrd_CltdateHope"), Sikenn.com.clt.CltDate).Text = Format(Now(), "yy/MM/dd")
dgrdList.Items(nN).Cells(16).Text           '取值

 

'3查询结果取值方式:
e.Item.Cells(0).Controls(1)


'4DataGrid中合并相同的项(行或列):
Private Sub UnitDataGridItem(ByVal intCell As Integer)
        Dim strCell1 As String = ""
        Dim strCell2 As String = ""
        Dim intSpan As Integer = 1
        Dim i, j As Integer

        For i = 0 To grdTaskNo.Items.Count - 1
            intSpan = 1
            strCell1 = grdTaskNo.Items(i).Cells(intCell).Text
            For j = i + 1 To grdTaskNo.Items.Count - 1
                strCell2 = grdTaskNo.Items(j).Cells(intCell).Text
                If strCell1 = strCell2 Then    '如果现行相同
                    intSpan += 1     
                    grdTaskNo.Items(i).Cells(intCell).RowSpan = intSpan 'RowSpan变化。
                    grdTaskNo.Items(j).Cells(intCell).Visible = False                   
                Else
                    Exit For
                End If
            Next
            i = j - 1
        Next
End Sub

 

'5DataGrid中显示时为Label,按下编辑后变为DropDownList。
'前台代码:
<asp:TemplateColumn HeaderText="部署">
    <ItemTemplate>
        <asp:Label ID=grd_lblDepartment Runat=server Text='<%# DataBinder.eval_r(Container.DataItem, "Department") %>'/>
        <asp:DropDownList ID="grd_ddlDepartment" Runat="server" Visible=False />
    </ItemTemplate>
</asp:TemplateColumn> 
'用的是模版列:模版列中有两个控件,label,和DropDownList.初起DropDownList不可见,按下编辑列后,Label不可见。后台代码:
grdTaskNo.Items(e.Item.ItemIndex).FindControl("grd_lblDepartment").Visible = False
grdTaskNo.Items(e.Item.ItemIndex).FindControl("grd_ddlDepartment").Visible = True
Dim ddlGrd_Department As DropDownList = CType(grdTaskNo.Items(e.Item.ItemIndex).FindControl("grd_ddlDepartment"), DropDownList)
ddlGrd_Department.Width = Unit.Parse("100%")
DepartmentBLL.Fill(ddlGrd_Department)
ddlGrd_Department.SelectedItem.Text = CType(grdTaskNo.Items(e.Item.ItemIndex).FindControl("grd_lblDepartment"), Label).Text

 

'6调用脚本:必须放在Page_load()事件时.具体样式如下:
btnOK.Attributes.Add(“onclick”,”return Validator.Validate(Form1))

 


'7权限验证,画面跳转:
If ci.CanMaintain = false then
 Response.Redirect(“../login.aspx”,False)
End if


'javaScript的书写格式:
在登陆画面(page_load)里面写:按钮名.Attributes.Add(“onClick”, ”return 函数名”)
'DataGrid使用:
dataFormatString:
编辑:datagrid_EditCommand;
Datagrid.EditItemIndex=e.Item.ItemIndex ' 编辑列获得焦点
'删除:


'8打开新的窗口,并传送参数:
'传送参数:response.write(“<script> window.open(‘*.asp?id=’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’) </script>")
'接收参数:
Dim a as string =Request.QueryString(“id”)
Dim b as string =Request.QueryString(“id1”)


'8为按钮添加对话框:
Button1.Attributes.Add("onclick","return confirm(’确认?’)");
button.attributes.add("onclick","if(confirm(’are you sure...?’)){return true;}else{return false;}")

 

'9清空Cookie
Cookie.Expires=DataTime
Response.cookie(“UserName”).Expires = 0

'10Panel横向滚动,纵向自动扩展
<asp:panel style=”overflow-x:scroll;overflow-y:auto;”></asp:panel>

 

Dim i As Integer
        For i = 0 To grdSystemCheck.Items.Count - 1
            'If grdTaskNo.EditItemIndex >= 0 And e.Item.ItemIndex = grdTaskNo.EditItemIndex Then
            Dim txtDWGNo As TextBox = grdSystemCheck.Items(i).FindControl("txtDWGNo")
            If CType(grdSystemCheck.Items(i).FindControl("txtDWGNo"), TextBox).Text <> "" Then
                Dim txtNumber As TextBox = grdSystemCheck.Items(i).FindControl("txtWorkTime")
                txtNumber.Attributes.Add("DataType", "positiveDouble")
                txtNumber.Attributes.Add("Message", "wrong")
            End If
        Next

 


'11 在画面中加上"ページ"
'   前台HTML中加上:<PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
'   后台:
 Private Sub TaskNo_ItemCreated(ByVal sender As Object, ByVal e As DataGridItemEventArgs) Handles grdTaskNo.ItemCreated

        If e.Item.ItemType = ListItemType.Pager Then
            Dim lblPagerText As New Label
            lblPagerText.Text = "ページ : "
            If e.Item.Controls(0).FindControl("lblPagerText") Is Nothing Then
                e.Item.Controls(0).Controls.AddAt(0, lblPagerText)
            End If
        End If
  End Sub

 

'12 选中一行时背景颜色改变: TaskNo_ItemDataBound中加入下列两行
     e.Item.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#bbbbbb'")
     e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=c")

 

'13 DataGrid 编辑时文本框的长度 用百分比来表示.
 OrderNoText.Width = Unit.Parse("100%")

 


'14 DataGrid分页时绑定数据
  Private Sub TaskNo_PageIndexChanged(ByVal source As Object, ByVal e As DataGridPageChangedEventArgs) Handles grdTaskNo.PageIndexChanged

        grdTaskNo.CurrentPageIndex = e.NewPageIndex                                 '指定したページNoに遷移する
        TaskBLL.Fill(grdTaskNo)                                                     'データをリフレッシュする

End Sub

'ViewState,Session,Cookie区别
'ViewState的值保存在游览器的HTML代码中,当游览器关闭刚消失。画面刷新时不会丢失。
'Session采用键值对,到了一定的时间时会自动释放,名画面之间可以保存
'Cookie则有两种方法 , 一种方法是把值保存在浏览器的变量中 , 当浏览器关闭时结束 , 另一种方法是保存在硬盘中 , 只要时间不过期 , 下次还可使用.
 ViewState("TestView") = "Exemple"
Dim ViewTest As String
ViewTest =  ViewState("TestView")

可以用  转换。


'GridView 动态增加控件  --  [+]ボタンの追加
'CommonRowCreated(Me.gv_ProjectList, e)
Dim cell As TableCell
cell = e.Row.Cells(0)
' [+]ボタンの追加
lnkbtn_AddProject = New LinkButton()
lnkbtn_AddProject.ID = "lnkbtn_AddRate"
lnkbtn_AddProject.Text = "[+]"
lnkbtn_AddProject.CssClass = "Add"

cell.Controls.Add(lnkbtn_AddProject)

'GridView 增加一行 
'遍历整个GridView取得所有数据放在DataTable里边,然后DataTable增加一空行。

'GridView排序参见TMRU的App/Activity->InformationForPayrollList.aspx.vb文件
'理论是:从库里查的数据在DataView里边重新排序。


'GridView 如果列是不固定的,可以在后台动态增加列:
' GridViewへColumnの追加する。 
For indexCol As Integer = 0 To dtList.Rows.Count + 7 - 1
    col = New BoundField
    col.HeaderText = "Col" & indexCol
    col.DataField = "Col" & indexCol
    col.ItemStyle.Width = Unit.Pixel(100)
    Me.gv_MainList.Columns.Add(col)
Next

 

'sendMail - メールを発送する"
Private Sub sendMail()

    '変数定義
    Dim strUrl As New StringBuilder
    Dim mailTo As String

    'メールを発送する
    If Me.hd_Email.Value <> "" Then

        'Urlを取得する
        strUrl.Append("</br>URL:<a Href = ")
        strUrl.Append(clsCom.GetUrl(Request))
        strUrl.Append("/App/Activity/WeeklyActivityReport.aspx?TermID=")
        strUrl.Append(Me.drop_Term.SelectedValue)
        strUrl.Append("&WeekEnd=")
        strUrl.Append(Me.drop_WeekEnd.SelectedValue)
        strUrl.Append("&EmployeeID=")
        strUrl.Append(Me.hd_EmployeeID.Value)
        strUrl.Append(">")
        strUrl.Append(clsCom.GetUrl(Request))
        strUrl.Append("/App/Activity/WeeklyActivityReport.aspx?TermID=")
        strUrl.Append(Me.drop_Term.SelectedValue)
        strUrl.Append("&WeekEnd=")
        strUrl.Append(Me.drop_WeekEnd.SelectedValue)
        strUrl.Append("&EmployeeID=")
        strUrl.Append(Me.hd_EmployeeID.Value)
        strUrl.Append("</a>")

        mailTo = Me.hd_Email.Value
        clsMail.Send(Request, Resources.Resource.Mail_Msg_Act_T001, mailTo, Resources.Resource.Mail_Msg_Act_B001 + strUrl.ToString())

    End If

End Sub

Public Function Send(ByVal request As HttpRequest, _
                        ByVal mailSubject As String, _
                        ByVal mailTo As String, _
                        ByVal mailBody As String, _
                        Optional ByVal Tip As String = "", Optional ByVal mailCC As String = "") As String

    ' メールアドレスがブランク時、メールを発送しません。
    If mailTo.Trim() = "" Then
        Return ""
    End If

    ' Configファイルから情報を取得する
    Dim mailFrom As String = ConfigurationManager.AppSettings("MailFrom")
    Dim mailSmtp As String = ConfigurationManager.AppSettings("MailSmtp")
    Dim mailUser As String = ConfigurationManager.AppSettings("MailUser")
    Dim mailPwd As String = ConfigurationManager.AppSettings("MailPwd")

    ' 変数定義
    Dim lf As New ClsLogFile
    Dim Message As New MailMessage(mailFrom, mailTo)
    Dim Client As New SmtpClient
    'Dim Attach As New Attachment("address", System.Net.Mime.MediaTypeNames.Application.Octet)

    Client.Host = mailSmtp
    Client.UseDefaultCredentials = False
    Client.Credentials = New System.Net.NetworkCredential(mailUser, mailPwd)
    Client.DeliveryMethod = SmtpDeliveryMethod.Network

    Message.IsBodyHtml = True
    Message.Subject = mailSubject
    Message.Body = mailBody
    Message.BodyEncoding = System.Text.Encoding.UTF8
    'Message.Headers.Add("Return-Path", mailFrom)

    Try
        Client.Send(Message)
        Return ""
    Catch ex As Exception

        lf.Write(clsUser.getUserName.ToString(), request.UserHostAddress, request.Path, _
                "SendMail(" & Tip & ")", ex.Message.ToString(), 1)
        Return ex.Message()

    End Try

End Function

' Enum媒举
Public Enum InterfaceColors
    MistyRose = &HE1E4FF&
    SlateGray = &H908070&
    DodgerBlue = &HFF901E&
    DeepSkyBlue = &HFFBF00&
    SpringGreen = &H7FFF00&
    ForestGreen = &H228B22&
    Goldenrod = &H20A5DA&
    Firebrick = &H2222B2&
End Enum

'合并路径,并返回正确的路径
Dim value As String = My.Computer.FileSystem.CombinePath(baseDirectory, relativePath)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值