SmartGridView

1.//页面上可以只有SmartGridView,无SmartSqlDataSource,这样数据就是通过我们自己给SmartGridView绑定数据,加上AllowPaging="True"之后,就可以有分页功能了。

<web:SmartGridView ID="SmartGridView1" runat="server" AutoGenerateColumns="False"

                class="dg_borderstyle" AllowPaging="true" Width="100%" DataKeyNames="MsgID" AllowSorting="true">

                <HeaderStyle CssClass="dg_headerstyle" />

                <RowStyle CssClass="dg_itemstyle" />

                <AlternatingRowStyle CssClass="dg_alternatingitemstyle" />

                <Columns>

                    <asp:TemplateField SortExpression="MsgContent" HeaderText="消息内容" ItemStyle-HorizontalAlign="Left"

                        HeaderStyle-Width="300px">

                        <ItemTemplate>

                            <a _id='<%# Eval("MsgID") %>>' _href='<%# Eval("Href_url")%>' _createuser='<%# Eval("CreateUserName")%>'

                                _sendtime='<%# Eval("SendTime")%>' _content='<%# Eval("MsgContent")%>' style="cursor: pointer;">

                                <%# Eval("MsgContent").ToString().Length > 40 ? Eval("MsgContent").ToString().Substring(0, 40).Trim() + "..." : Eval("MsgContent").ToString().Trim()%>

                            </a>

                        </ItemTemplate>

                    </asp:TemplateField>

                    <asp:BoundField DataField="CreateUserName" HeaderText="发起人" SortExpression="CreateUserName"

                        ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="100px" />

                    <asp:BoundField DataField="CreateDeptName" HeaderText="所属部门名称" SortExpression="CreateDeptName"

                        ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="100px" />

                    <%--  <asp:BoundField DataField="MsgTitle" HeaderText="消息标题" SortExpression="MsgTitle"

                        ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="100px" />--%>

                    <%-- <asp:TemplateField SortExpression="MsgType" HeaderText="消息类型" ItemStyle-HorizontalAlign="Left"  HeaderStyle-Width="40px">

                        <ItemTemplate>

                           <%# Eval("Href_Url") != null ? "链接类型" : "普通类型"%>

                        </ItemTemplate>

                    </asp:TemplateField>--%>

                    <asp:TemplateField SortExpression="SendTime" HeaderText="发送时间" ItemStyle-HorizontalAlign="Center"

                        HeaderStyle-Width="120px">

                        <ItemTemplate>

                            <%# Convert.ToDateTime(Eval("SendTime")).ToString("yyyy-MM-dd HH:mm")%>

                        </ItemTemplate>

                    </asp:TemplateField>

                    <asp:TemplateField SortExpression="Status" HeaderText="状态" ItemStyle-HorizontalAlign="Center"

                        HeaderStyle-Width="40px">

                        <ItemTemplate>

                            <%# Eval("Status").ToString() == "0" ?"未读":"已读"%>

                        </ItemTemplate>

                    </asp:TemplateField>

                </Columns>

                <EditRowStyle HorizontalAlign="Center" />           //这里定义编辑行样式居中

                <EmptyDataTemplate>                                                       //这里定义列表数据为空时的自定义显示内容

                    <div style="margin: 5px auto; text-align: center;">

                        数据为空!</div>

                </EmptyDataTemplate>

            </web:SmartGridView>

 

 

public partial class InternalMsgList : System.Web.UI.Page

    {

        Msg_InternalMsgBLL msgBLL = new Msg_InternalMsgBLL();

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                BindData();

            }

        }

 

        private void BindConsultPage(object sender, EventArgs e)

        {

            BindData();

        }

 

        // 绑定数据

        private void BindData()

        {

            string currUserId = SecurityContext.User.Id.ToUpper();

            this.SmartGridView1.DataSource = msgBLL.GetListByWS(currUserId).list;

            this.SmartGridView1.DataBind();

        }

 

        protected void btnSearch_Click(object sender, EventArgs e)

        {

            BindData();

        }

    }

 

2.如果想要去掉分页功能,在分页处加统计功能时,就要重新定义了PagerTemplate属性,替换了原来的分页

<web:SmartGridView ID="gvList" runat="server" AllowPaging="True" AllowSorting="True" PageSize="200"      //这里的PageSize需要设的大一点,因为这里默认是10条

            AutoGenerateColumns="False" EnableModelValidation="True" ClientIDMode="Static"

            DataSourceID="SmartDataSource1">

            <FixRowColumnSettings MarginLeft="" MarginRight=""></FixRowColumnSettings>

            <Columns>

                <web:DataDictonaryBoundField DictionaryCode="WorkOrder" DataField="Code" HeaderText="处理类型"

                    ItemStyle-HorizontalAlign="Center" SortExpression="Code" />

                <asp:TemplateField HeaderText="已处理" SortExpression="Processed">

                    <ItemStyle HorizontalAlign="Center" CssClass="ProcessedCount" />

                    <ItemTemplate>

                        <%# Convert.ToInt32(Eval("Processed"))%>

                    </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField HeaderText="处理中" SortExpression="">

                    <ItemStyle HorizontalAlign="Center" CssClass="UnderwayCount" />

                    <ItemTemplate>

                        <%# Convert.ToInt32(Eval("Underway"))%>

                    </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField HeaderText="总处理数" SortExpression="">

                    <ItemStyle HorizontalAlign="Center" CssClass="SupCount" />

                    <ItemTemplate>

                        <%# Convert.ToInt32(Eval("Processed")) + Convert.ToInt32(Eval("Underway"))%>

                    </ItemTemplate>

                </asp:TemplateField>

            </Columns>

            <PagerTemplate>                                                        // 这里是重新定义了PagerTemplate属性,替换了原来的分页

                <tr class="dg_itemstyle_s">

                    <td class="td_total">

                        合计

                    </td>

                    <td id="ProcessingSum" class="td_count">

                        0

                    </td>

                    <td id="TimeoutingSum" class="td_count">

                        0

                    </td>

                    <td id="ProcessedSum" class="td_count">

                        0

                    </td>

                </tr>

            </PagerTemplate>

        </web:SmartGridView>

posted @ 2013-11-26 23:15  weifb  阅读(486)  评论(0)    收藏  举报