<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Hopes

    Start Here..

     

    GridView中妙用LinkButton

    GridView中妙用LinkButton

    分類: asp.net
    2007-06-13 18:58 2167人閱讀 評論(2) 收藏 舉報

    說明:近來看到不少人想在DataGrid、GridView 使用比較靈活的方式來編輯、查看、刪除其中的數據選項(當然它們本身也內置了這些功能),卻苦于找不到比較好的辦法,本人結合實際代碼說明一下如何使用LinkButton來實現上述功能。

    --------------------------------------------GridViewLinkButton.aspx---------------------------------------------------------------
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridViewLinkButton.aspx.cs" Inherits="GridViewLinkButton" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>無標題頁</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:GridView ID="gvPersonList" runat="server" AutoGenerateColumns="False">
    <Columns>
    <asp:BoundField DataField="Id" HeaderText="編號" />
    <asp:BoundField DataField="Name" HeaderText="姓名" />
    <asp:TemplateField HeaderText="性別">
    <ItemTemplate>
    <%# Eval("Sex").ToString()=="true"?"男":"女" %>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="Age" HeaderText="年齡" />
    <asp:TemplateField HeaderText="婚否">
    <ItemTemplate>
    <%# Boolean.Parse(Eval("Married").ToString())==true?"是":"否" %>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="婚否">
    <ItemTemplate>
    <asp:LinkButton CommandArgument='<%# Eval("Id") %>' Enabled='<%# Boolean.Parse(Eval("Married").ToString())==true?false:true %>' Text="設為結婚" runat="server" OnCommand="SetMarried"></asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    </asp:GridView>

    </div>
    </form>
    </body>
    </html>

    --------------------------------------GridViewLinkButton.aspx.cs------------------------------------------------
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class GridViewLinkButton : System.Web.UI.Page
    {
    private string firstName = "趙錢孫李周吳鄭王馮陳諸衛蔣沈韓楊朱秦尤許何呂施張孔曹嚴華";
    private string lastName="猛勇剛強豹彪雁燕蓉菲";
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack)
    {
    BindGridView();
    }
    }

    private void BindGridView()
    {
    DataTable myData = CreateDataTable();
    Session["MyData"] = myData;
    gvPersonList.DataSource = myData;
    gvPersonList.DataBind();
    }
    //手動生成DataTable
    private DataTable CreateDataTable()
    {
    DataTable data = new DataTable();
    DataColumn dcId = new DataColumn("ID", typeof(Int32));
    dcId.AutoIncrement = true;
    dcId.AutoIncrementSeed = 1;
    dcId.AutoIncrementStep = 1;
    data.Columns.Add(dcId);
    data.Columns.Add(new DataColumn("Name",typeof(string)));
    data.Columns.Add(new DataColumn("Age",typeof(int)));
    data.Columns.Add(new DataColumn("Sex",typeof(bool)));
    data.Columns.Add(new DataColumn("Married",typeof(bool)));
    DataRow dataRow = null;
    Random random = new Random();
    for (int i = 0; i < 20; i++)
    {
    dataRow = data.NewRow();
    //隨機生成姓名
    dataRow["Name"] = firstName.Substring(random.Next(firstName.Length), 1) + lastName.Substring(random.Next(lastName.Length), 1);
    //隨即生成介于20至100之間的年齡
    int age = random.Next(20, 100);
    dataRow["Age"] = age;
    //隨即設置性別
    bool sex = (random.Next(100) % 2 == 0) ? true : false;
    dataRow["Sex"] = sex;
    if (((sex == true) && (age >= 22)) || ((sex == false) && (age >= 20)))//男性結婚年齡大于22周歲,女性結婚年齡大于20周歲
    {
    dataRow["Married"] = (random.Next(500) % 2 == 0) ? true : false;
    }
    else
    {
    dataRow["Married"] = false;
    }
    data.Rows.Add(dataRow);
    }
    return data;
    }
    //LinkButton的OnCommand事件的處理方法
    public void SetMarried(Object sender, CommandEventArgs e)
    {
    e.CommandArgument.ToString();
    DataTable data = Session["MyData"] as DataTable;
    for (int i = 0; i < data.Rows.Count; i++)
    {
    if (data.Rows[i]["Id"].ToString() == e.CommandArgument.ToString())
    {
    data.Rows[i]["Married"] = true;
    break;
    }
    }
    gvPersonList.DataSource = data;
    gvPersonList.DataBind();
    }
    }

    -----------------------------------運行結果-----------------------------------------------------------------

    可以看見,一旦某個人是已婚,則不能再設置為已婚狀態了。
    下圖是將某些未婚人士設置成已婚后的截圖。

    posted on 2012-09-27 22:24 ** 閱讀(171) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费日本一区二区| h视频在线免费观看| 18女人毛片水真多免费| 亚洲AV成人片色在线观看高潮 | 亚洲综合激情五月色一区| 1000部禁片黄的免费看| 亚洲午夜久久久精品影院| 最近免费中文字幕高清大全| 亚洲狠狠ady亚洲精品大秀| 国产精品入口麻豆免费观看| 亚洲av产在线精品亚洲第一站| 一二三四免费观看在线电影| 亚洲国产日韩a在线播放| 四虎影视永久免费观看| a级毛片免费网站| 亚洲精品高清久久| 免费人成视频在线| 处破女第一次亚洲18分钟| 久久久久一级精品亚洲国产成人综合AV区 | 亚洲精品动漫免费二区| 免费二级毛片免费完整视频| 一级女性全黄生活片免费看| 亚洲A∨无码无在线观看| 美女视频黄免费亚洲| 亚洲AV无码成人精品区日韩| 国产亚洲老熟女视频| h在线观看视频免费网站| 国产AV无码专区亚洲AV蜜芽| 中文字幕亚洲乱码熟女一区二区| 在线观看免费av网站| 亚洲人成网站免费播放| 青青草原亚洲视频| 精品久久久久久久久免费影院| 男男gay做爽爽免费视频| 亚洲AV无码1区2区久久| 最近的中文字幕大全免费版| 一区二区免费在线观看| 亚洲免费黄色网址| 亚洲免费无码在线| 成视频年人黄网站免费视频| 久青草视频在线观看免费|