'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)