<asp:GridView ID="gvList" OnRowEditing="gvList_RowEditing"    runat="server" BorderColor="#93BEE2" BorderStyle="None" DataKeyNames="VOYAGEID"  BorderWidth="0px"
                                                  PageSize 
="5" AllowPaging ="true"     BackColor="Silver" CellPadding="3" AutoGenerateColumns="False"    Width="100%" Font-Names="宋体"
                                                  Font-Size
="36pt" CellSpacing="1" OnRowEditing="gvList_RowEditing"   >
                     
<Columns>
                    
<asp:BoundField DataField="VoyageOutCode" HeaderText="出口航次" SortExpression="VOYAGEID">
                               
<HeaderStyle HorizontalAlign="Left" />
                      
</asp:BoundField>
                     
<asp:BoundField DataField="VoyageInCode" HeaderText="进口航次" SortExpression="SHIPID" >
                               
<HeaderStyle HorizontalAlign="Left" />
                    
</asp:BoundField>        
                    
<asp:TemplateField HeaderText = "英文船名">
                               
<ItemTemplate>
                                  
<asp:Label ID = "ShipNameEN" runat ="server" Text ='<%# CSA_GetInfo.GetShipName(Convert.ToInt32(Eval("ShipID").ToString()),"2") %>'></asp:Label>
                                          
<%由于数据库中存的是ID,需要通过调用其他的函数(一般放在App_Code内),显示其名称--%>       
                               
</ItemTemplate>
                    
</asp:TemplateField>
                   
<asp:TemplateField HeaderText = "中文船名">
                               
<ItemTemplate>
                                  
<asp:Label ID = "ShipNameCN" runat ="server" Text ='<%# CSA_GetInfo.GetShipName(Convert.ToInt32(Eval("ShipID").ToString()),"1") %>'></asp:Label>
                                          
<%由于数据库中存的是ID,需要通过调用其他的函数(一般放在App_Code内),显示其名称--%>     
                               
</ItemTemplate>
                  
</asp:TemplateField>                 
                   
<asp:BoundField DataField="LINE" HeaderText="航线" SortExpression="LINE" >
                                 
<HeaderStyle HorizontalAlign="Left" />
                    
</asp:BoundField>
                 
<asp:HyperLinkField   DataNavigateUrlFields="VOYAGEID,SHIPID" 
                                                            DataNavigateUrlFormatString
="~/CSA/QueryInfoMore.aspx?VOYAGEID={0}&amp;ShipID={1}"
                                                        HeaderText
="详细资料" Text="详细资料" >
                                          
<%传递多个参数的方法--%>     
                     
<HeaderStyle HorizontalAlign="Left" />
                 
</asp:HyperLinkField>    
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
编辑的方法一:
       
<asp:TemplateField HeaderText="形成航次" Visible ="false">
            
<ItemTemplate>
                       
<asp:LinkButton id="lbtEdit" runat="server" CausesValidation="false" CommandName="Edit"
                                                          OnClientClick
="javascript:return confirm('该船舶确认要形成航次?')"> 形成航次
                          
</asp:LinkButton>
            
</ItemTemplate>
            
<HeaderStyle HorizontalAlign="Left" />
        
</asp:TemplateField>
<%需要在<Asp:GridView 中的属性添加   OnRowEditing="gvList_RowEditing"   事件--%>
<%其CS代码是    /// <summary>
    
/// 形成航次信息
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>
    protected void gvList_RowEditing(
object sender, GridViewEditEventArgs e)
    {
                 
string ShipID;
                  ShipID 
= StringHelp.StringRequest(gvList.DataKeys[e.NewEditIndex].Values[0]);
                  Response.Redirect(
"CSA_VoyageApply.aspx?ShipID="+ShipID+"");
    }
%>
编辑的方法二:
       <asp:TemplateField HeaderText="编辑">
                        <ItemTemplate>
                               <asp:LinkButton id="lbtEdit" runat="server" CausesValidation="false" CommandName="Edit">编辑</asp:LinkButton>
                        </ItemTemplate>
                        <HeaderStyle HorizontalAlign="Left" />
        </asp:TemplateField>
其CS:
<%需要在<Asp:GridView 中的属性添加   OnRowEditing="gvList_RowEditing"   事件--%>
    //编辑
    protected void gvList_RowEditing(object sender, GridViewEditEventArgs e)
    {
        Response.Redirect(string.Format("~/CSA/Outside{0}.aspx?VOYAGEID={1}", this.Request["state"], gvList.DataKeys[e.NewEditIndex].Values[0]));
    }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
</Columns>
    
<EmptyDataTemplate>
    暂无数据!
    
</EmptyDataTemplate>
            
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White"  HorizontalAlign ="Center"/>
            
<RowStyle BackColor="#EFF3FB" HorizontalAlign="Center" VerticalAlign="Middle" />
            
<EditRowStyle BackColor="#2461BF" />
            
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333"  HorizontalAlign ="Center"/>
            
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" VerticalAlign="Middle" />
            
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" HorizontalAlign="Justify" VerticalAlign="Middle" BorderStyle="Outset" />
            
<AlternatingRowStyle BackColor="White" HorizontalAlign="Center" VerticalAlign="Middle" />
            
<PagerSettings Visible="False" />
</asp:GridView>
鼠标移动行变色:(添加 OnRowDataBound ="gvList_RowDataBound" 事件)
    protected void gvList_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            //鼠标移动到每项时颜色交替效果
           // e.Row.Attributes["onmouseover"] = "this.name=this.style.backgroundColor;this.style.backgroundColor='#CCCCFF';";
           // e.Row.Attributes["onmouseout"] = "this.style.backgroundColor=this.name;";
            e.Row.Attributes["onmouseover"] = "this.name=this.style.backgroundColor;this.style.backgroundColor='#6699FF';";
            e.Row.Attributes["onmouseout"] = "this.style.backgroundColor=this.name;";
        }
    }
添加单选框:
   <asp:TemplateField HeaderText="选择">
   <HeaderTemplate>
    </HeaderTemplate>
   <ItemTemplate>
    <asp:CheckBox ID="cbxItem" runat="server"  onclick="javascript:SeletSingle(this.id)"  BackColor ="AliceBlue"/>
   </ItemTemplate>
             <HeaderStyle HorizontalAlign="Left" />
             <ItemStyle Width="10px" />
   </asp:TemplateField>
      其中应用的JS脚本:
 <script  type="text/javascript">
    <!--
    function confirmSelect()
    {
        var frm = document.forms[0];
        var numcount = 0;
        for (i=0; i<frm.length; i++)
        {
            if (frm.elements[i].type == "checkbox" && frm.elements[i].name.indexOf('cbxItem') != -1 && frm.elements[i].checked == true)
            {
                numcount++;
            }
        }
       
        if (numcount == 0)
        {
            alert("还没有选择要编辑船舶!");
            return false;
        }
       
    }


    function confirmDelete()
    {
        var frm = document.forms[0];
        var numcount = 0;
        for (i=0; i<frm.length; i++)
        {
            if (frm.elements[i].type == "checkbox" && frm.elements[i].name.indexOf('cbxItem') != -1 && frm.elements[i].checked == true)
            {
                numcount++;
            }
        }
       
        if (numcount == 0)
        {
            alert("还没有选择要删除的船舶!");
            return false;
        }
        else
        {
            if(confirm("确认要删除该船舶吗?"))
            {
                return true;
            }
            else
            {
                return false;
            }
           
         }
       
    }
    function SeletSingle (idVal)
    {
        //alert(idVal);
        var frm = document.forms[0];
        for (i=0; i<frm.length; i++)
        {  
            if (frm.elements[i].type == "checkbox" && frm.elements[i].name.indexOf('cbxItem') != -1 && frm.elements[i].checked == true)
            {
                frm.elements[i].checked = false;
            }
        } 
        document.all[idVal].checked=true;
             
    }
    //-->
</script> 
    其他调用
                           <asp:Button ID="btnEdit" runat="server" CssClass="ButtonCss1" OnClick="btnEdit_Click"
                          Text="编辑" OnClientClick="javascript:return confirmSelect()" />&nbsp;&nbsp;
                       &nbsp;<asp:Button ID="btnDelete"
                              runat="server" CssClass="ButtonCss1" OnClick="btnDelete_Click" Text="删除"  OnClientClick="javascript:return confirmDelete()" />

         CS代码:
    /// <summary>
    /// 编辑船舶信息
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnEdit_Click(object sender, EventArgs e)
    {
        string strSql = string.Empty;
        foreach (GridViewRow row in gvList.Rows)
        {
            CheckBox delItem = row.FindControl("cbxItem") as CheckBox;

            if (delItem != null && delItem.Checked)
            {
                Response.Redirect("CSA_EditShip.aspx?ShipID=" + gvList.DataKeys[row.RowIndex].Values[0] + "");
                // Response.Redirect(string.Format("{0}?ShipID={1}", UrlLinks.GetEditShip(Page), gvList.DataKeys[row.RowIndex].Values[0]));
            }

        }
        BindData();
    }

    /// <summary>
    /// 删除船舶信息
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnDelete_Click(object sender, EventArgs e)
    {
        string strSql = string.Empty;
        foreach (GridViewRow row in gvList.Rows)
        {
            CheckBox delItem = row.FindControl("cbxItem") as CheckBox;
            if (delItem != null && delItem.Checked)
            {
                //bll.Delete(Convert.ToInt32(gvList.DataKeys[row.RowIndex].Values[0]));
                strSql = string.Format("update CSA_Ship_List set IsDeleted='1' where ShipID={0}", gvList.DataKeys[row.RowIndex].Values[0]);
                DbHelperSQL.ExecuteSql(strSql);
                LTP.Common.MessageBox.Show(this.Page,"删除成功!!");
            }

        }
        BindData();
    }


自带的编辑/更新/取消  
                                
<asp:GridView ID="gvService" runat="server" HorizontalAlign="Center" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" Width="90%" OnRowEditing="gvService_RowEditing" OnRowCancelingEdit="gvService_RowCancelingEdit" OnRowUpdating="gvService_RowUpdating" > 
                                      
<Columns>
                                          
<asp:BoundField DataField="VoyageID" HeaderText="航次ID" ReadOnly="True" SortExpression="VoyageID" />
                                          
<asp:BoundField DataField="ServiceID" HeaderText="服务ID" ReadOnly="True" SortExpression="ServiceID"/>
                                          
<asp:BoundField DataField="ServiceItem" HeaderText="服务项目" ReadOnly="True" SortExpression="ServiceItem" />
                                          
<asp:BoundField DataField="APPLYTIME" HeaderText="申请时间" ReadOnly="True" SortExpression="APPLYTIME" />
                                          
<asp:TemplateField HeaderText="办理时间" SortExpression="PERFORMTIME">
                                              
<EditItemTemplate>
                                                  
&nbsp;<INPUT  id ="tbxPERFORMTIME"   type="text" onfocus="setday(this)" value='<%# Bind("PERFORMTIME") %>' readonly  class="InputCss" runat ="server" name ="tbxPERFORMTIME"/>
                                              
</EditItemTemplate>
                                              
<ItemTemplate>
                                                  
<asp:Label ID="Label1" runat="server" Text='<%# Bind("PERFORMTIME") %>'></asp:Label>
                                              
</ItemTemplate>
                                          
</asp:TemplateField>
                                          
<asp:CommandField ShowEditButton="True" />
                                      
</Columns>
                                      
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                      
<RowStyle BackColor="#EFF3FB" />
                                      
<EditRowStyle BackColor="#2461BF" />
                                      
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                                      
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                                      
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
                                      
<AlternatingRowStyle BackColor="White" />
 
                                      
<EmptyDataTemplate>
                                          
&nbsp;
                                      
</EmptyDataTemplate>
                                   
</asp:GridView>

 cs:
    //编辑服务项目办理时间
    protected void gvService_RowEditing(object sender, GridViewEditEventArgs e)
    {
        gvService.EditIndex = e.NewEditIndex;
       // BindService(Convert.ToInt32(StringHelp.StringRequest(Request["voyageid"])));// 其他地方的显示应用
    }
    protected void gvService_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        gvService.EditIndex = -1;
       // BindService(Convert.ToInt32(StringHelp.StringRequest(Request["voyageid"])));
    }
    protected void gvService_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        //更新内容
        int voyageid = Convert.ToInt32(StringHelp.StringRequest(Request["voyageid"]));
        int serviceid;
        string performTime;
        serviceid = int.Parse(gvService.Rows[e.RowIndex].Cells[1].Text);
        performTime = gvService.Rows[e.RowIndex].Cells[4].Text;

        HtmlInputControl input = gvService.Rows[e.RowIndex].Cells[4].FindControl("tbxPERFORMTIME") as HtmlInputControl;
        if (null != input)
        {
            performTime = input.Value;
        }

        if (!string.IsNullOrEmpty(performTime))
        {
            ONPORTSERVICE_LISTBLL bll = new ONPORTSERVICE_LISTBLL();
            ONPORTSERVICE_LIST ol = bll.GetModel(voyageid, serviceid);

            if (null != ol && null != ol.PERFORMTIME)
            {
                StringHelp.WinAlert(Page, "办理时间一旦填写不能更改,可在补充备注中写明修改!");
            }
            else
            {
                ol.PERFORMTIME = Convert.ToDateTime(performTime);
                bll.Update(ol);
            }
        }
        gvService.EditIndex = -1;
     //   BindService(Convert.ToInt32(StringHelp.StringRequest(Request["voyageid"])));
    }

    //更新备注 时间
    protected void btnContentUpdate_Click(object sender, EventArgs e)
    {
        int voyageId;
        voyageId = int.Parse(StringHelp.StringRequest(Request["voyageid"]));
        ONPORTSERVICE_LIST ol = new ONPORTSERVICE_LIST();
        ONPORTSERVICE_LISTBLL bll = new ONPORTSERVICE_LISTBLL();
        ol = bll.GetModel(voyageId, 0);
        if (ol != null)
        {
            if (!string.IsNullOrEmpty(tbxNewRemarks.Text))
            {
                ol.REMARKS = ol.REMARKS + "\r\n(" + DateTime.Now + "):\r\n" + this.tbxNewRemarks.Text;
            }
            if (!string.IsNullOrEmpty(tbxRemarksTime.Value))
            {
                ol.APPLYTIME = Convert.ToDateTime(tbxRemarksTime.Value);
            }

            bll.Update(ol);
            StringHelp.WinAlertAndLocation(Page, "更新成功!", Request.RawUrl);
        }
    }

posted on 2007-01-27 22:00  ipusr  阅读(530)  评论(0编辑  收藏  举报