<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 ** 閱讀(174) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    統計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲网站免费观看| xxxxx做受大片在线观看免费| 最新国产精品亚洲| 91精品成人免费国产片| 久久精品国产亚洲av高清漫画| 精品国产污污免费网站| 国产精品无码一区二区三区免费| 亚洲综合色一区二区三区| 日韩吃奶摸下AA片免费观看| 亚洲综合av一区二区三区| 青青青国产免费一夜七次郎| 久久久久无码精品亚洲日韩| 久久国产乱子伦精品免费看| 国产精品免费一级在线观看| 亚洲欧洲日韩不卡| 黄页网址在线免费观看| 国产情侣激情在线视频免费看| 国产精品亚洲产品一区二区三区| 国产免费播放一区二区| 国产成A人亚洲精V品无码| 无码天堂va亚洲va在线va| 亚洲国产综合精品中文字幕| 国产午夜精品理论片免费观看| 国产精品冒白浆免费视频| 亚洲美免无码中文字幕在线| 1024免费福利永久观看网站| 亚洲va中文字幕| 国产成人精品亚洲精品| 亚洲电影免费在线观看| 亚洲一卡2卡三卡4卡无卡下载| 亚洲 另类 无码 在线| 精品亚洲456在线播放| 777成影片免费观看| 亚洲日韩乱码中文字幕| 亚洲国产精品自在拍在线播放 | 永久免费毛片在线播放| 黄网站色成年片大免费高清| 国产亚洲综合久久系列| 搡女人免费视频大全| 亚洲免费视频一区二区三区| 又色又污又黄无遮挡的免费视|