頁面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("刪除成功!");
}