2013-09-2512:26:31

1.DataGrid页面

  <asp:DataGrid ID="msgInfo1" PageSize="8" AutoGenerateColumns="False" BorderWidth="0"
               CellPadding="0" CellSpacing="2" AllowPaging="True" Width="100%" DataKeyField="ID"
               runat="server" onpageindexchanged="msgInfo1_PageIndexChanged"
               onitemcommand="msgInfo1_ItemCommand" onitemdatabound="msgInfo1_ItemDataBound" >
         <ItemStyle HorizontalAlign="Center" CssClass="td1"></ItemStyle>
         <HeaderStyle HorizontalAlign="Center" BackColor="SkyBlue" ForeColor="White" CssClass="td2">
         </HeaderStyle>
         <Columns>
             <%--<asp:BoundColumn DataField="业务标题" HeaderText="标题">
             <ItemStyle Width="33%"></ItemStyle>
             </asp:BoundColumn>--%>
             <asp:TemplateColumn HeaderText="标题" ItemStyle-Width="33%">
               <ItemTemplate>
                   <asp:HyperLink ID="hy标题" runat="server"></asp:HyperLink>
               </ItemTemplate>
             </asp:TemplateColumn>

<asp:BoundColumn DataField="业务表名" HeaderText="分类">
                         <ItemStyle Width="33%"></ItemStyle>
             </asp:BoundColumn>
              <asp:TemplateColumn HeaderText="操作">
                      <%--<ItemStyle Width="10%"></ItemStyle>--%>
                     <ItemTemplate>
                     <asp:Button ID="btnEdit" runat="server" Text="置顶" class="button" Width="100px" CommandName="toTop"
                                     CommandArgument='<%#Eval("ID") %>' />
                    
<asp:Button ID="btnDelete" runat="server" Text="不公开" class="button"
Width="100px"CommandName="toNoPublish" CommandArgument='<%#Eval("ID")
%>' />
                      <%--<asp:ImageButton
ID="btnModify" Runat="server" CommandName="ToEdit"
AlternateText="点击进行编辑"
ImageUrl="~/images/i_edit.gif"></asp:ImageButton>
          
           <asp:ImageButton ID="btnDelete" Runat="server"
CommandName="ToDelete" ToolTip="点击删除当前项"
ImageUrl="~/images/i_delete.gif"></asp:ImageButton>--%>
                     </ItemTemplate>
                 </asp:TemplateColumn>
               </Columns>
        <PagerStyle Mode="NumericPages"></PagerStyle>
       </asp:DataGrid>

2.ItemDataBound实现a标签的链接,其中通过业务表名来进行类别筛选

  protected void msgInfo1_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                DataRow row = ((DataRowView)e.Item.DataItem).Row;
                HyperLink hy标题 = e.Item.FindControl("hy标题") as HyperLink;
                hy标题.Text = row["业务标题"].ToString();
                string 编号 = string.Empty;
                if (row["业务表名"].ToString() == "工作案例")
                {
                    编号 = "1";
                }
                else if (row["业务表名"].ToString() == "工作笔记")
                {
                    编号 = "4";
                }
                else if (row["业务表名"].ToString() == "实事工作")
                {
                    编号 = "3";
                }
                else if (row["业务表名"].ToString() == "义工服务")
                {
                    编号 = "7";
                }
                if (Comm.获取数据(row["业务表名"].ToString(), "ID", row["业务ID"].ToString(), "1").Rows.Count > 0)
                {
                   
string 人员ID = Comm.获取数据(row["业务表名"].ToString(), "ID",
row["业务ID"].ToString(), "1").Rows[0]["人员ID"].ToString();

hy标题.NavigateUrl = "javascript:aa('" + 人员ID + "','" + 编号 + "');";
                }
            }

3.js(aa()方法)

  <script>
         function aa(id, type) {
             //alert(id);
            
window.open('qgy_ssgz.aspx?id=' + id + '&isView=1&OtherType=' +
type, '',
'target=_blank,scrollbars=yes,top=100,left=200,width=800,height=700,scrolling=1');
         }
        </script>

4.ItemCommand实现DataGrid中的Button控件

  protected void msgInfo1_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            if (e.CommandName == "toTop")
            {
               Publishcs.置顶已公布信息(e.CommandArgument.ToString());
               BindData(txt标题.Text.Trim());
            }
            else if (e.CommandName == "toNoPublish")
            {
                string 表名 = Comm.获取数据("已公布信息表","ID",e.CommandArgument.ToString(),"1").Rows[0]["业务表名"].ToString();
                Publishcs.不公布已公布信息(e.CommandArgument.ToString(), 表名,string.Empty);
                BindData(txt标题.Text.Trim());
            }         
        }

5.PageIndexChanged实现页面的切换

  protected void msgInfo1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
        {
            msgInfo1.CurrentPageIndex = e.NewPageIndex;          
            BindData("");
        }

6.实现绑定

  protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindData("");
            }
        }
        protected void BindData(string 标题)
        {           
            msgInfo1.DataSource = Publishcs.获取已发布列表(标题);
            msgInfo1.DataBind();            
        }

7.本列中是通过存储过程来实现对数据的获取

  创建Publishcs.cs类,写获取已发布列表(标题).

  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Data;
  using System.Data.SqlClient;

  namespace Business
  {
      public class Publishcs
      {        
          /// <summary>
          /// 已发布类
          /// </summary>
          /// <returns></returns>
          private static SqlConnection GetConn()
          {
           
  SqlConnection conn = new
 SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CNHRConnectionStrings"].ConnectionString);
              return conn;
          }

   public static DataTable 获取已发布列表(string 标题)
          {
              SqlConnection conn = GetConn();
              try
              {
                  conn.Open();
                  SqlCommand cmd = new SqlCommand("已发布列表获取", conn);
                  cmd.CommandType = CommandType.StoredProcedure;

  SqlParameter para1 = new SqlParameter("@标题", SqlDbType.NVarChar);
                  para1.Value = 标题;
                  cmd.Parameters.Add(para1);

   //SqlParameter para2 = new SqlParameter("@分类", SqlDbType.NVarChar);
                  //para2.Value = 分类;
                  //cmd.Parameters.Add(para2);

  DataTable dt = new DataTable();
                  SqlDataAdapter sda = new SqlDataAdapter(cmd);
                  sda.Fill(dt);
                  return dt;
              }
             finally
              {
                  conn.Close();
              }
          }

   public static int 置顶已公布信息(string ID)
          {
              SqlConnection conn = GetConn();
              try
              {
                  conn.Open();
                  SqlCommand cmd = new SqlCommand("已公布信息置顶", conn);
                  cmd.CommandType = CommandType.StoredProcedure;

  SqlParameter para1 = new SqlParameter("@ID", SqlDbType.UniqueIdentifier);
                  para1.Value = new Guid(ID);
                  cmd.Parameters.Add(para1);
                
                  return cmd.ExecuteNonQuery();
              }
              finally
              {
                 conn.Close();
              }
          }

  public static int 不公布已公布信息(string 已公布信息ID, string 表名, string 业务ID)
          {
              SqlConnection conn = GetConn();
              try
              {
                  conn.Open();
                  SqlCommand cmd = new SqlCommand("将已公布信息变为不公布", conn);
                  cmd.CommandType = CommandType.StoredProcedure;

   SqlParameter para1 = new SqlParameter("@已公布信息ID", SqlDbType.UniqueIdentifier);
                  para1.Value = string.IsNullOrEmpty(已公布信息ID) ? Guid.Empty : new Guid(已公布信息ID);
                  cmd.Parameters.Add(para1);

    SqlParameter para2 = new SqlParameter("@表名", SqlDbType.NVarChar);
                  para2.Value = 表名;
                  cmd.Parameters.Add(para2);

    SqlParameter para3 = new SqlParameter("@业务ID", SqlDbType.UniqueIdentifier);
                  para3.Value = string.IsNullOrEmpty(业务ID) ? Guid.Empty : new Guid(业务ID);
                  cmd.Parameters.Add(para3);

   return cmd.ExecuteNonQuery();
              }
              catch (Exception ex)
              {
                  throw new Exception(ex.Message);
              }
              finally
              {
                  conn.Close();
              }
          }
      }
  }

DataGrid1的更多相关文章

  1. miniui中可以设置是否让页面进行分页 <div id="datagrid1" class="mini-datagrid" style="width:100%" allowAlternating="true" showpager="true"/> 就是设置showpager属性为true

    <div id="datagrid1" class="mini-datagrid" style="width:100%" allowA ...

  2. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  3. datepickerx设置默认日期

    datepicher插件是jQuery UI的一个插件,它提供一个日期弹出窗口(或直接显示在页面),供用户选择日期.在Web开发中,总会遇到需要用户输入日期的情况.一般都是提供一个text类型的inp ...

  4. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇三:批量处理后的txt文件入库处理

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  5. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇四:关于OneNote入库处理以及审核

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  6. GridView/DataGrid行单击和双击事件实现代码_.Net教程

    功能: 单击选中行,双击打开详细页面 说明:单击事件(onclick)使用了 setTimeout 延迟,根据实际需要修改延迟时间 ;当双击时,通过全局变量 dbl_click 来取消单击事件的响应  ...

  7. C# 3种方法连接MySql

    转   http://wenku.baidu.com/view/d0cf34708e9951e79b8927c7.html C# 连接MYSQL数据库的方法及示例 连接MYSQL数据库的方法及示例 方 ...

  8. 【转】WPF防止界面卡死并显示加载中效果

    原文地址:http://www.cnblogs.com/linyijia/archive/2013/02/06/2900609.html <Window x:Class="Loadin ...

  9. 【转】WPF DataGrid 获取选中的当前行某列值

    方法一:DataRowView mySelectedElement = (DataRowView)dataGrid1.SelectedItem; string result = mySelectedE ...

随机推荐

  1. 提高HTML5 canvas性能的几种方法

    简介 HTML5 canvas 最初起源于苹果(Apple)的一项实验,现在已经成为了web中受到广泛支持的2D快速模式绘图(2Dimmediate mode graphic)的标准.许多开发者现在利 ...

  2. redhat的启动方式和执行次序

    rc.d的内容如下: init.d/ :各种服务器和程序的二进制文件存放目录. rcx.d/: 各个启动级别的执行程序连接目录.里头的东西都是指向init.d/的一些软连接.具体的后边叙述. 还有三个 ...

  3. JS比较两个数值大小的正确方法

    转自:http://www.zzsky.cn/build/content/1832.htm 一般情况下: <script type="text/javsscript"> ...

  4. Linux下的线程

    一.线程的优点 与传统进程相比,用线程来实现相同的功能有如下优点: (1)系统资源消耗低. (2)速度快. (3)线程间的数据共享比进程间容易的多. 二.多线程编程简单实例 #include < ...

  5. Java元组Tuple使用实例--转载

    原文地址:http://50vip.com/35.html 一.为什么使用元组tuple? 元组和列表list一样,都可能用于数据存储,包含多个数据:但是和列表不同的是:列表只能存储相同的数据类型,而 ...

  6. JS Date对象扩展

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  7. [SQLServer]学习总结笔记(基本涵盖Sql的所有操作)

    --################################################################################### /* 缩写: DDL(Dat ...

  8. 【阿里云产品公测】结构化数据服务OTS之JavaSDK初体验

    [阿里云产品公测]结构化数据服务OTS之JavaSDK初体验 作者:阿里云用户蓝色之鹰 一.OTS简单介绍 OTS 是构建在阿里云飞天分布式系统之上的NoSQL数据库服务,提供海量结构化数据的存储和实 ...

  9. OC之category的用法

    简介 实例 好处 一.category简介 动态的为某个已经存在的类增加方法,不可以增加成员变量 二.实例 // // Student+CatetoryStudent.h // Category // ...

  10. 【WinAPI】User32.dll注释

    #region User32.dll 函数 /// <summary> /// 该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以在GDI函数中使用该句柄来在设备 ...