UltraWebToolbar+UltraWebGrid使用實例

頁面JS代碼:


	
<script type="text/javascript">
		<!--
    var DialogSize = { Width: 650, Height: 620 };
    function ToolBar_Click(oToolbar, oButton, oEvent) {
        switch (oButton.Key) {
            case "btnNew":
                NewInfo();
                break;
            case "btnEdit":
                EditInfo();
                break;
            case "btnDelete":
                oEvent.needPostBack = DeleteInfo();
                break;
            case "btnRefresh":
                oEvent.needPostBack = true;
                break;
            default:
                oEvent.needPostBack = true;
                break;
        }

        if (oEvent.needPostBack) {
            ShowNotesModalDlg();
        }
    }

    function DeleteInfo() {
        if (IsChoice()) {
            if (confirm("你確定要刪除嗎?")) {
                return true;
            }
        }
    }
    //判斷是否選擇了記錄        
    function IsChoice() {
        var pk = GetSelectedRowCellDataByKey("UltraWebGrid1", "ID");
        if (pk == null || pk == "") {
            alert("請選擇一條記錄!");
            return false;
        }
        $("hidKeyID").value = pk;
        return true;
    }

    // 新建
    function NewInfo() {
        var url = "BBSEdit.aspx?KeyID=";
        showModalDialogA(url, "板塊添加", 760, 400,
         function (result) {
         })

        //var res = showModalDialogA(url, "板塊添加", 540, 400);
    }


    // 編輯
    function EditInfo() {
        if (!IsChoice()) {
            return;
        }
        var url = "BBSEdit.aspx?KeyID=" + $("hidKeyID").value;
        showModalDialogA(url, "板塊添加", 760, 400,
            function (result) {
            })
    }

    function Query() {
        ShowNotesModalDlg();
    }

	#region UltraWebGrid事件,表單中註冊過
    function UltraWebGrid1_DblClickHandler(gridName, cellId) {
        EditInfo();
    }

    function UltraWebGrid1_CellClickHandler(gridName, cellId, button) {

        var pk = GetSelectedRowCellDataByKey("UltraWebGrid1", "ID");                    //取得選中行ID列的值
        var count = GetSelectedRowCellDataByKey("UltraWebGrid1", "REPLY_COUNT");	//取得選中行REPLY_COUNT列的值
        var cell = igtbl_getCellById(cellId);
        
        if (cell.Column.Key == "REPLY_COUNT" && parseInt(count) >0 ) {        //點擊回覆數列,回覆數爲零無效,大於零則彈出回覆列表,
            var url = "BbsMsgEdit.aspx?KeyID=" + pk;
            showModalDialogA(url, "回覆列表", 900, 600);
        }
        igtbl_cancelPostBack(gridName);
        return false;
    }
    function UltraWebGrid1_RowSelectorClickHandler(gridName, rowId, button) {
        igtbl_cancelPostBack(gridName);
        return false;
    }

    function UltraWebGrid1_ColumnHeaderClickHandler(gridName, columnId, button) {
        igtbl_cancelPostBack(gridName);
        return false;
    }
	#endregion
	
</script>
	

頁面表單:
<form id="form1" runat="server">
        <asp:ScriptManager runat="server" ID="scriptManager1">
        </asp:ScriptManager>
        <asp:UpdatePanel runat="server" ID="updatePanel1">
            <ContentTemplate>
                <header:FormHeader ID="FormHeader1" runat="Server"></header:FormHeader>
                <igtbar:UltraWebToolbar ID="UltraWebToolbar1" runat="server">
                    <ClientSideEvents Click="ToolBar_Click"></ClientSideEvents>
                    <Items>
                        <igtbar:TBarButton Tag="" AutoPostBack="False" Key="btnNew" HoverImage="" ToolTip="新建"
                            SelectedImage="" Text="新建" TargetURL="" DisabledImage="" TargetFrame="" Image="~/Images/Icons/new.gif">
                            <DefaultStyle Width="60px">
                            </DefaultStyle>
                        </igtbar:TBarButton>
                        <igtbar:TBarButton Tag="" AutoPostBack="False" Key="btnEdit" HoverImage="" ToolTip="修改"
                            SelectedImage="" Text="修改" TargetURL="" DisabledImage="" TargetFrame="" Image="~/Images/Icons/edit.gif">
                            <DefaultStyle Width="60px">
                            </DefaultStyle>
                        </igtbar:TBarButton>
                        <igtbar:TBarButton AutoPostBack="False" Key="btnDelete" HoverImage="" ToolTip="刪除"
                            SelectedImage="" Text="刪除" DisabledImage="" Image="~/Images/Icons/delete.gif">
                            <DefaultStyle Width="60px">
                            </DefaultStyle>
                        </igtbar:TBarButton>
                        <igtbar:TBarButton Tag="" AutoPostBack="True" Key="btnRefresh" HoverImage="" ToolTip=""
                            SelectedImage="" Text="刷新" TargetURL="" DisabledImage="" TargetFrame="" Image="~/Images/Icons/refresh.gif">
                            <DefaultStyle Width="60px">
                            </DefaultStyle>
                        </igtbar:TBarButton>
                    </Items>
                </igtbar:UltraWebToolbar>
                <thinker:ScrollPanel ID="ScrollPanel1" runat="server" Height="100%" Width="100%">
                    <igtbl:UltraWebGrid ID="UltraWebGrid1" runat="server" Height="100%" Width="100%">
                        <Bands>
                            <igtbl:UltraGridBand AllowUpdate="No">
                                <Columns>
                                    <igtbl:UltraGridColumn BaseColumnName="ID" Hidden="True" Key="ID">
                                        <Header Caption="ID">
                                        </Header>
                                    </igtbl:UltraGridColumn>
                                    <igtbl:UltraGridColumn BaseColumnName="THEME_TYPE_NAME" Width="80px" Key="THEME_TYPE_NAME">
                                        <Header Caption="分類">
                                            <RowLayoutColumnInfo OriginX="1" />
                                        </Header>
                                        <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                        <Footer>
                                            <RowLayoutColumnInfo OriginX="1" />
                                        </Footer>
                                    </igtbl:UltraGridColumn>
                                    <igtbl:UltraGridColumn BaseColumnName="TITLE" Width="250px" Key="TITLE">
                                        <Header Caption="文章標題">
                                            <RowLayoutColumnInfo OriginX="2" />
                                        </Header>
                                        <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                        <Footer>
                                            <RowLayoutColumnInfo OriginX="2" />
                                        </Footer>
                                    </igtbl:UltraGridColumn>
                                    <igtbl:UltraGridColumn BaseColumnName="AUTHOR" Width="50px" Key="AUTHOR">
                                        <Header Caption="作者">
                                            <RowLayoutColumnInfo OriginX="2" />
                                        </Header>
                                        <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                        <Footer>
                                            <RowLayoutColumnInfo OriginX="2" />
                                        </Footer>
                                    </igtbl:UltraGridColumn>
                                    <igtbl:UltraGridColumn BaseColumnName="CREATE_TIME" Width="150px" Key="CREATE_TIME">
                                        <Header Caption="發佈時間">
                                            <RowLayoutColumnInfo OriginX="4" />
                                        </Header>
                                        <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                        <Footer>
                                            <RowLayoutColumnInfo OriginX="4" />
                                        </Footer>
                                    </igtbl:UltraGridColumn>
                                    <igtbl:UltraGridColumn BaseColumnName="REPLY_COUNT" Width="50px" Key="REPLY_COUNT">
                                        <Header Caption="回帖數">
                                            <RowLayoutColumnInfo OriginX="2" />
                                        </Header>
                                        <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                        <Footer>
                                            <RowLayoutColumnInfo OriginX="2" />
                                        </Footer>
                                    </igtbl:UltraGridColumn>
                                </Columns>
                                <AddNewRow View="NotSet" Visible="NotSet">
                                </AddNewRow>
                            </igtbl:UltraGridBand>
                        </Bands>
                        <DisplayLayout>
                            <ClientSideEvents DblClickHandler="UltraWebGrid1_DblClickHandler" CellClickHandler="UltraWebGrid1_CellClickHandler" RowSelectorClickHandler="UltraWebGrid1_RowSelectorClickHandler"
                                ColumnHeaderClickHandler="UltraWebGrid1_ColumnHeaderClickHandler" />             //UltraWebGrid事件,對應頁面JS代碼中的三個方法;
                        </DisplayLayout>
                    </igtbl:UltraWebGrid>
                </thinker:ScrollPanel>
                <thinker:ProcessBarDlg ID="ProcessBarDlg1" runat="server"></thinker:ProcessBarDlg>
            </ContentTemplate>
        </asp:UpdatePanel>
        <uc2:ActiveSelectGridCell ID="ActiveSelectGridCell1" runat="server" />
        <input id="hidKeyID" type="hidden" name="hidKeyID" runat="server" />
    </form>
	

後臺代碼:

	#region 頁面初始化
        protected string AID = "";

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                InitData();
            }

        }


        protected override void OnInit(EventArgs e)
        {
            ThemeHelper.ApplyUltraWebToolbarTheme(UltraWebToolbar1);
            base.OnInit(e);
        }


        private void InitData()
        {
        }


        #endregion


        #region 業務處理

        /// <summary>
        /// 綁定數據
        /// </summary>
        private void DataBandGrid()
        {
            //分頁預處理
            PageHelper pageHelper = new PageHelper();
            UltraWebGridCustomPager uwGC = new UltraWebGridCustomPager(this, pageHelper, "個帖子");
            uwGC.PagerStyle = UltraWebGridCustomPagerStyle.DirectInput;
            DataSet ds = new DataSet();
            if (GetDataInfo(pageHelper, ds) > 0)
            {
                // 清空數據
                this.UltraWebGrid1.Clear();
                // 綁定數據
                this.UltraWebGrid1.DataSource = ds;
                this.UltraWebGrid1.DataBind();

            }
            else
            {
                // 清空數據
                this.UltraWebGrid1.Clear();
            }
            // 綁定分頁
            uwGC.BindPager(this.UltraWebGrid1);
        }



        private int GetDataInfo(PageHelper pageHelper, DataSet objDS)
        {
            CmsBbsModel cbm = new CmsBbsModel();
            CmsBbsBL cbbl = new CmsBbsBL();
            return cbbl.GetInfoListByPage(pageHelper, cbm, string.Empty, "CREATE_TIME DESC", objDS);

        }


        #endregion


        #region 事件處理
        /// <summary>
        /// 事件註冊
        /// </summary>
        protected override void InitEventHandler()
        {
            this.UltraWebGrid1.InitializeRow += new Infragistics.WebUI.UltraWebGrid.InitializeRowEventHandler(UltraWebGrid1_InitializeRow);
            this.UltraWebToolbar1.ButtonClicked += UltraWebToolbar1_ButtonClicked;
        }
		///工具欄點擊事件後臺處理	
        void UltraWebToolbar1_ButtonClicked(object sender, Infragistics.WebUI.UltraWebToolbar.ButtonEvent be)
        {
            switch (be.Button.Key)
            {
                case "btnDelete":
                    Delete();
                    break;
				default:
					break;
            }
        }
        /// <summary>
        /// grid行初始化
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void UltraWebGrid1_InitializeRow(object sender, Infragistics.WebUI.UltraWebGrid.RowEventArgs e)
        {
            var value = Convert.ToInt32(e.Row.Cells.FromKey("REPLY_COUNT").Value);
            if (value > 0) //回覆數大於零的樣式
            {
                e.Row.Cells.FromKey("REPLY_COUNT").Style.ForeColor = Color.Blue;  //設置字體顏色爲藍色
		e.Row.Cells.FromKey("REPLY_COUNT").Style.Cursor = Infragistics.WebUI.Shared.Cursors.Hand; //設置指針樣式爲“手”
            }

        }


        /// <summary>
        /// 引發 <see cref="E:System.Web.UI.Control.PreRender"/> 事件。
        /// </summary>
        /// <param name="e">包含事件數據的對象。</param>	
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            DataBandGrid();
        }

        #endregion

        
        protected void Delete() {
            CmsBbsBL cbbl = new CmsBbsBL();
            cbbl.RemoveByPK(false,hidKeyID.Value,string.Empty);
            this.RegisterMessageBox("刪除成功!");

        }
    



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章