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. Perl 内部结构详解

    PerlGuts Illustrated Version 0.49, for perl 5.20 and older This document is meant to supplement the  ...

  2. 你应该知道的基础 Git 命令

    我们在早先一篇文章中已经快速介绍过 Vi 速查表了.在这篇文章里,我们将会介绍开始使用 Git 时所需要的基础命令. Git Git 是一个分布式版本控制系统,它被用在大量开源项目中.它是在 2005 ...

  3. Java_Shell多线程

    #!/bin/bash source ~/.bashrc fun(){ echo "fun is begin.timeNum:$timeNum" local timeNum=$ s ...

  4. 对Kernel panic-not syncing:No init found...init=option to kernel错误总结!

    转载:http://blog.csdn.net/wavemcu/article/details/6950053 在移植Linux中很容易出现这样那样的问题,我也遇到过,现在就共享下人家的一些经验和自己 ...

  5. LeetCode9 Palindrome Number

    题意: Determine whether an integer is a palindrome. Do this without extra space.  (Easy) 分析: 自己考虑的方法是利 ...

  6. C#基础--struct(结构体)

    结构体和类有点类似    我们定义一个类的时候    是class   类名   定义结构体的时候是 struct   结构体名 结构体的写法 struct Point { // public int ...

  7. Android 高级UI设计笔记16:ViewStub的应用

    1. ViewStub 在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局. 那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为 ...

  8. Android学习笔记⑤——UI组件的学习TextView相关

    TextView是一个强大的视图组件,直接继承了View,同时也派生出了很多子类,TextView其作用说白了就是在布局中显示文本,有点像Swing编程中的JLabel标签,但是他比JLabel强大的 ...

  9. iOS部分其他知识

    1.界面切换传值 (1)使用button进行界面切换 //当页面跳转时系统自动调用,segue连线 - (void)prepareForSegue:(UIStoryboardSegue *)segue ...

  10. 写一个函数,将一个int型的数组做为参数传入,使用指针返回两个结果:最大值和最小值

    今日下午研究了一下c语言中的指针问题,c语言的核心是指针,指针的核心是地址,地址的核心是内存. #include <stdio.h> void hanshu(int *arry,int s ...