天天看點

gridview和CheckBox結合實作多選,并用用table顯示出來。

主要是實作用checkbox選擇,

gridview和CheckBox結合實作多選,并用用table顯示出來。
用gridview顯示出來後,我選擇幾個checkbox後點選申請在背景出現如下界面,
gridview和CheckBox結合實作多選,并用用table顯示出來。

我上面點了兩個,後面就用Table顯示出兩條記錄。

1.首先在Gridview中添加個複選框。

gridview和CheckBox結合實作多選,并用用table顯示出來。
添加複選框代碼

<Columns>
                        <asp:TemplateField >
                            <ItemTemplate>
                                <asp:CheckBox ID="CheckBox1" runat="server" />
                            </ItemTemplate>
                            <HeaderTemplate>
                               <asp:CheckBox ID="CheckBoxALL" runat="server" AutoPostBack="True" oncheckedchanged="HeaderCheckBoxALL_CheckedChanged" />
                            </HeaderTemplate>
                            <HeaderStyle Font-Size="9pt" Width="20px" />
                        </asp:TemplateField>      

背景增加複選框的選擇功能 輕按兩下申請的那個按鈕後。

protected void btsq_Click(object sender, EventArgs e)
        {

               //用IList存儲選擇了哪個複選框。
                IList<string> zcbmList = new List<string>();
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
                {
                    CheckBox cbox = (CheckBox)(GridView1.Rows[i].FindControl("CheckBox1"));
if (cbox.Checked == true)
                    {
                //用循環查出來哪個複選框選中,并把這個行的第二列的值存到IList中。我這裡第二列是唯一标示列        
                            zcbmList.Add(GridView1.Rows[i].Cells[2].Text);


                    }

                }

         //用Session傳遞值。
                Session["zcbmList"] = zcbmList;
                Response.Redirect("shenqing.aspx");
return;
            }      

選擇事件加完後,就到shenqing.aspx界面去接受Session

public partial class shenqing : ModulePage
    {
        IList<string> zcbmList = null;
protected void Page_Load(object sender, EventArgs e)
        {
//接受前面界面傳遞過來的SESSION值
            zcbmList = Session["zcbmList"] as List<string>;
if (!IsPostBack)
            {
string sql1 = "select 資産編碼, 裝置編碼,裝置名稱,規格型号,自編号,投産日期,生産廠家,資産原值,帳面價值,備注,使用情況 from 裝置基礎資料表 where ";      
        //用foreach語句和拼接功能實作對複選框選擇傳遞過來的值進行周遊。
foreach (var zcbm in zcbmList)
                {
if (zcbmList.IndexOf(zcbm) < zcbmList.Count - 1)
                    {
                        sql1 += "資産編碼='" + zcbm + "' or ";
                    }
else
                    {
                        sql1 += "資産編碼='" + zcbm + "'";
                    }

                }

                DataTable table = OracleHelper.ExecuteDataset(base.Conn, CommandType.Text, sql1).Tables[0];      
        //把table存儲上,要不你沒回重新整理頁面後這個Table就會為空,出現錯誤。在前台在綁定。
                ViewState["table"] = table;

            }
        }      
<% foreach (System.Data.DataRow row in ((System.Data.DataTable)ViewState["table"]).Rows)
           { %>
        <tr>
            <td class="style65">
                <input type="text" ID="tbzcbm "  class="SmallInput" ReadOnly ="true" Width="118px" value="<%= row["資産編碼"] %>" />
            </td>
            <td class="style13">
                <input type="text" ID="tbzcmc"   class="SmallInput" ReadOnly ="true" value ="<%=row["裝置名稱"] %>"></input>
            </td>
            <td class="style41">
                <input type="text" ID="tbzcxh" class="SmallInput" ReadOnly ="true" value ="<%=row["規格型号"] %>"></input>
            </td>
            <td class="style42">
                <input type="text" ID="tbzbh"  class="SmallInput" ReadOnly ="true" value ="<%=row["自編号"] %>"></input>
            </td>
            <td class="style16">
                <input type="text" ID="tbtcrq"  class="SmallInput" ReadOnly ="true" value="<%=row["投産日期"] %>"></input>
            </td>
            <td class="style43">
                <input type="text" ID="tbsccj"  class="SmallInput" ReadOnly ="true" value ="<%=row["生産廠家"] %>"></input>
            </td>
            <td class="style44">
                <input type="text" ID="tbyz"  class="SmallInput" ReadOnly ="true" value ="<%=row["資産原值"] %>"></input>
            </td>
            <td class="style19">
                <input type="text" ID="tbzmjz"  class="SmallInput" ReadOnly ="true" value ="<%=row["帳面價值"] %>"></input>
            </td>
            <td class="style74">
                <input type="text" ID="tbbz"  class="SmallInput" ReadOnly ="true" value="<%=row["備注"] %>"></input>
            </td>
        </tr>
        <%}%>