DataGrid 实现多选

-。
<%@ Page EnableViewState="true" CodeBehind="SelectMultiPages.aspx.cs" Language="c#"
AutoEventWireup="false" Inherits="eMeng.Exam.SelectMultiPages" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <title>跨页面实现多选</title>
  <META http-equiv="content-type" content="text/html; charset=gb2312">
  <style> { FONT-SIZE: 12px }
 #Status { TEXT-ALIGN: left }
  </style>
  <script language="JAVASCRIPT">
function AddRemoveValues(oChk) {
//在处理这个地方需要注意的是:你保存的值应该具有唯一性,这样才能不会替换错误的项。
if(oChk.checked)
SelectMultiPage.HdnSelectedValues.value += "," + oChk.value;
else
SelectMultiPage.HdnSelectedValues.value = SelectMultiPage.HdnSelectedValues.value.replace("," + oChk.value,"");
}
  </script>
 </HEAD>
 <BODY>
  <form id="SelectMultiPage" runat="server">
   <asp:datagrid id="DataGrid1" HorizontalAlign="Center" AutoGenerateColumns="False" Width="600px"
    AllowPaging="True" runat="server">
    <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
    <HeaderStyle BackColor="#AAAADD" Font-Bold="True" HorizontalAlign="Center"></HeaderStyle>
    <PagerStyle HorizontalAlign="Right" Mode="NumericPages" Visible="True"></PagerStyle>
    <Columns>
     <asp:TemplateColumn HeaderText="选择">
      <ItemTemplate>
       <input type="checkbox" runat="server" id="chkSelect" οnclick="AddRemoveValues(this)"
     value='<%#DataBinder.Eval(Container.DataItem,"Title")%>' NAME="chkSelect"/>
      </ItemTemplate>
     </asp:TemplateColumn>
     <asp:TemplateColumn HeaderText="文章标题">
      <ItemTemplate>
       <asp:Literal Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' runat="server" ID="TitleShow"/>
      </ItemTemplate>
     </asp:TemplateColumn>
     <asp:TemplateColumn HeaderText="发布时间">
      <ItemTemplate>
       <asp:Literal Text='<%# DataBinder.Eval(Container.DataItem, "CreateDate").ToString() %>' runat="server" ID="Literal1"/>
      </ItemTemplate>
     </asp:TemplateColumn>
    </Columns>
   </asp:datagrid>
   <div align="center">
    <asp:button id="Button1" runat="server" Text="得到所选的值"></asp:button>
    <div id="Status">
     <asp:label id="Label1" runat="server"></asp:label>
    </div>
    <INPUT id="HdnSelectedValues" type="hidden" name="HdnSelectedValues" runat="server">
   </div>
  </form>
 </BODY>
</HTML>


------------------------------------------------------
二。
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>

   <script language="C#" runat="server">
 
      DataTable Cart = new DataTable();
      DataView CartView;  
 
      void Page_Load(Object sender, EventArgs e)
      {
         DataRow dr;
 
         if (Session["ShoppingCart"] == null)
         {      
            Cart.Columns.Add(new DataColumn("Qty", typeof(String)));
            Cart.Columns.Add(new DataColumn("Item", typeof(String)));
            Cart.Columns.Add(new DataColumn("Price", typeof(String)));
            Session["ShoppingCart"] = Cart;
            
            // Create rows and add sample data.
            for (int i = 1; i <= 9; i++)
            {
               dr = Cart.NewRow();
               if (i % 2 != 0)
                  dr[0] = "2";
               else
                  dr[0] = "1";
               dr[1] = "Item " + i.ToString();
               dr[2] = (1.23 * (i + 1)).ToString();
               Cart.Rows.Add(dr);
            }
         }
         else
            Cart = (DataTable)Session["ShoppingCart"];         
 
         CartView = new DataView(Cart);
         CartView.Sort="Item";
 
         if (!IsPostBack)
            BindGrid();                   
      }
 
      void MyDataGrid_Select(Object sender, EventArgs e)
      {
 
         Label1.Text = "You selected " +
                       MyDataGrid.SelectedItem.Cells[1].Text +
                      
                       ".<br>" +
                       MyDataGrid.SelectedItem.Cells[1].Text +
                       " has an index number of " +
                       MyDataGrid.SelectedIndex.ToString() + ".";
                               
      }

      void Select_Button_Click(Object sender, EventArgs e)
      {
 
         MyDataGrid.SelectedIndex = 4;
                               
      }

      void UnSelect_Button_Click(Object sender, EventArgs e)
      {
 
         MyDataGrid.SelectedIndex = -1;
         Label1.Text = "";
                               
      }
 
      void BindGrid()
      {
         MyDataGrid.DataSource = CartView;
         MyDataGrid.DataBind();
      }
 
   </script>
 
<body>
 
   <form runat="server" ID="Form1">

      <h3>DataGrid Selection Example</h3>
 
      <asp:DataGrid id="MyDataGrid" runat="server"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           Font-Name="Verdana"
           Font-Size="8pt"
           OnSelectedIndexChanged="MyDataGrid_Select"
           AutoGenerateColumns="false">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <SelectedItemStyle BackColor="Yellow">
         </SelectedItemStyle>
 
         <Columns>

            <asp:ButtonColumn
                 HeaderText="Select Item"
                 ButtonType="LinkButton"
                 Text="Select"
                 CommandName="Select">

            </asp:ButtonColumn>
 
            <asp:BoundColumn
                 HeaderText="Item"
                 ReadOnly="true"
                 DataField="Item"/>

            <asp:BoundColumn
                 HeaderText="Quantity"
                 DataField="Qty"/>

            <asp:BoundColumn
                 HeaderText="Price"
                 DataField="Price"/>

         </Columns>

      </asp:DataGrid>

      <br><br>

      <asp:Button id="Button1"
           Text="Select Item 5"
           OnClick="Select_Button_Click"
           runat="server"/>

      <asp:Button id="Button2"
           Text="Unselect Item"
           OnClick="UnSelect_Button_Click"
           runat="server"/>

      <br><br>

      <asp:Label id="Label1" runat="server"/>
 
   </form>
 
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值