<asp:GridView ID="gv_Data" runat="server" AutoGenerateColumns="False"
CellPadding="3" GridLines="None" AllowSorting="true" PageSize="10"
AllowPaging="True" BackColor="White" BorderColor="#4A3C8C"
BorderStyle="None" BorderWidth="1px" DataKeyNames="SerialNo"
style="margin-top: 0px" Width="965" >
<EditRowStyle Font-Size="Small" />
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
<HeaderStyle CssClass="font2" BackColor="#4b6c9e" Font-Bold="True"
ForeColor="#F7F7F7" />
<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
<RowStyle CssClass="font2" BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<AlternatingRowStyle BackColor="#F7F7F7" />
<Columns>
<asp:CommandField DeleteText="刪除" ShowDeleteButton="True" >
<HeaderStyle Width="35px" />
</asp:CommandField>
<asp:CommandField ShowEditButton="True" CancelText="取消" EditText="修改"
UpdateText="確定" >
<ItemStyle Font-Size="Small" Width="60px" />
</asp:CommandField>
<asp:TemplateField HeaderText="SerialNo" SortExpression="SerialNo" Visible="False">
<ItemTemplate>
<asp:Label ID="lab_SerialNo" runat="server" Text='<%# Bind("SerialNo") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Font-Size="Small" />
<ItemStyle Font-Size="Small" HorizontalAlign="Center" Width="30px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="ELE_ID" SortExpression="ELE_ID" ItemStyle-Wrap="true" ItemStyle-Width="80">
<ItemTemplate>
<asp:Label ID="lab_ELE_ID" runat="server" Text='<%# Bind("ELE_ID") %>' Width='80px'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txt_ELE_ID" runat="server" Text='<%# Bind("ELE_ID") %>'
Width="80px" MaxLength="10" ></asp:TextBox>
</EditItemTemplate>
<HeaderStyle Font-Size="Small" Width="80px"/>
<ItemStyle Font-Size="Small" HorizontalAlign="Center" Width="80px"/>
</asp:TemplateField>
<asp:TemplateField HeaderText="StatusCd" SortExpression="StatusCd">
<ItemTemplate>
<asp:Label ID="lab_StatusCd" runat="server" Text='<%# Bind("sStatusCd") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddl_StatusCd" runat="server">
<asp:ListItem Value="Y">正常(Y)</asp:ListItem>
<asp:ListItem Value="N">停用(N)</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txt_StatusCd" runat="server" Text='<%# Bind("StatusCd") %>' Width="30px" MaxLength="1" style="display:none" ></asp:TextBox>
</EditItemTemplate>
<HeaderStyle Font-Size="Small" Width="80px" />
<ItemStyle Font-Size="Small" HorizontalAlign="Center" Width="80px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="METHOD" SortExpression="METHOD">
<ItemTemplate>
<asp:Label ID="lab_METHOD" runat="server" Text='<%# Bind("METHOD") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txt_METHOD" runat="server" Text='<%# Bind("METHOD") %>' Height='50px' Width="100px" MaxLength="255"
TextMode="MultiLine"></asp:TextBox>
</EditItemTemplate>
<HeaderStyle Font-Size="Small"/>
<ItemStyle Font-Size="Small" HorizontalAlign="Center" Width="120px" />
</asp:TemplateField>
</Columns>
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
</asp:GridView>
'函式顯示資料
Private Sub s_ShowGvData()
Dim sL_SqlCommand, sL_SqlWhere, sP_Type, sP_InPut As String
Dim dv As DataView
sL_SqlCommand = ""
sL_SqlCommand += " Select [SerialNo],[ELE_ID],[ELE_DESC],[StatusCd],[METHOD],[REMARK],[SQL_METHOD],[CRE_ID]"
sL_SqlCommand += " ,[CRE_DATE]=Convert(char(10),[CRE_DATE],111)"
dv = Conn.Query(BaseUtil.ReduceSQL(sL_SqlCommand)).DefaultView
If dv Is Nothing Then
lab_Msg.Text = "資料庫連結失敗!!"
Exit Sub
End If
lab_gvCount.Text = dv.Count
If dv.Count < 1 Then
lab_Msg.Text = "查無資料!!"
End If
If Not ViewState("_Sort") Is Nothing Then
dv.Sort = ViewState("_Sort")
End If
If Not ViewState("sG_gvPageSiez") Is Nothing Then
gv_Data.PageSize = ViewState("sG_gvPageSiez")
End If
gv_Data.DataSource = dv
gv_Data.DataBind()
End Sub
'函式產生_[到第幾頁]下拉選單
Public Sub s_bindDDL()
ddl_gvPage.Items.Clear()
If gv_Data.PageCount > 1 Then
For i As Integer = 0 To gv_Data.PageCount - 1
ddl_gvPage.Items.Add(New ListItem((i + 1).ToString(), i.ToString()))
Next
ddl_gvPage.SelectedIndex = gv_Data.PageIndex
End If
End Sub
'gv事件[Cance]
Protected Sub gv_Data_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles gv_Data.RowCancelingEdit
gv_Data.EditIndex = -1
Call s_ShowGvData()
End Sub
'gv事件[Edit]
Protected Sub gv_Data_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles gv_Data.RowEditing
Dim i As Integer = e.NewEditIndex
gv_Data.EditIndex = i
Call s_ShowGvData()
Dim ddl_gvType As DropDownList
Dim txt_gvBox As TextBox
txt_gvBox = gv_Data.Rows(i).FindControl("txt_StatusCd")
ddl_gvType = gv_Data.Rows(i).FindControl("ddl_StatusCd")
If Not ddl_gvType Is Nothing And Not txt_gvBox Is Nothing Then
ddl_gvType.SelectedValue = txt_gvBox.Text
End If
End Sub
'gv事件[換頁]
Protected Sub gv_Data_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gv_Data.PageIndexChanging
gv_Data.PageIndex = e.NewPageIndex
Call s_ShowGvData()
End Sub
'gv事件[排序]
Protected Sub gv_Data_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles gv_Data.Sorting
If e.SortExpression = ViewState("_Sort") Then
If ViewState("_Type") = " ASC" Then
ViewState("_Type") = " DESC"
Else
ViewState("_Type") = " ASC"
End If
ViewState("_Sort") = e.SortExpression & ViewState("_Type")
Else
ViewState("_Type") = " ASC"
ViewState("_Sort") = e.SortExpression
End If
Call s_ShowGvData()
End Sub
'gv事件刪除]
Protected Sub gv_Data_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gv_Data.RowDeleting
Dim sL_SerialNo As String
sL_SerialNo = gv_Data.DataKeys(e.RowIndex).Value.ToString.Trim
If Conn.ExecuteNonQuery(" Delete Renk Where SerialNo='" & sL_SerialNo.Trim & "'") Then
lab_Msg.Text = "刪除成功
Else
lab_Msg.Text = "刪除失敗"
End If
Call s_ShowGvData()
End Sub
'gv事Ø »件D Ã[Update]
Protected Sub gv_Data_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gv_Data.RowUpdating
Dim labL_SerialNo As Label = gv_Data.Rows(e.RowIndex).FindControl("lab_SerialNo")
Dim txtL_ELE_ID As TextBox = gv_Data.Rows(e.RowIndex).FindControl("txt_ELE_ID")
Dim sL_SqlCommand, sL_Msg As String
lab_Msg.Text = ""
sL_SqlCommand = ""
sL_SqlCommand += " Update [Renl] Set ELE_ID='" & txtL_ELE_ID.Text.Trim & "'"
sL_SqlCommand += " Where SerialNo='" & labL_SerialNo.Text.Trim & "'"
If Conn.ExecuteNonQuery(sL_SqlCommand) Then
lab_Msg.Text = "修改成功
Else
lab_Msg.Text = "修改失敗"
End If
gv_Data.EditIndex = -1
Call s_ShowGvData()
End Sub
'gv事件[RowDataBound]
Protected Sub gv_Data_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_Data.RowDataBound
If e.Row.RowIndex <> -1 And gv_Data.EditIndex = -1 Then
Dim lbtn_gv As LinkButton = CType(e.Row.Cells(0).Controls(0), LinkButton)
If Not lbtn_gv Is Nothing Then
lbtn_gv.OnClientClick = "if (confirm('您確定要刪除嗎?')==false) {return false;}"
End If
End If
End Sub
'下拉選單_[到第幾頁]
Protected Sub ddl_gvPage_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddl_gvPage.SelectedIndexChanged
lab_Msg.Text = ""
gv_Data.PageIndex = ddl_gvPage.SelectedIndex
Call s_ShowGvData()
End Sub
'下拉選單_[顯示幾筆]
Protected Sub ddl_gvSiez_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddl_gvSiez.SelectedIndexChanged
lab_Msg.Text = ""
ViewState("sG_gvPageSiez") = ddl_gvSiez.SelectedValue
Call s_ShowGvData()
Call s_bindDDL()
End Sub
