<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net 擴展GridView 增加單選按鈕列的代碼

        來源:懂視網 責編:小采 時間:2020-11-27 22:43:26
        文檔

        asp.net 擴展GridView 增加單選按鈕列的代碼

        asp.net 擴展GridView 增加單選按鈕列的代碼: 代碼如下:/// <summary> /// 單選按鈕列 /// </summary> /// <remarks> /// 如果沒有設置GroupName,則使用GridView的ID作為GroupName /// 如果沒有設置DataField,則使用RowIndex作為Value /// 允許設
        推薦度:
        導讀asp.net 擴展GridView 增加單選按鈕列的代碼: 代碼如下:/// <summary> /// 單選按鈕列 /// </summary> /// <remarks> /// 如果沒有設置GroupName,則使用GridView的ID作為GroupName /// 如果沒有設置DataField,則使用RowIndex作為Value /// 允許設

        代碼如下:
        /// <summary>
        /// 單選按鈕列
        /// </summary>
        /// <remarks>
        /// 如果沒有設置GroupName,則使用GridView的ID作為GroupName
        /// 如果沒有設置DataField,則使用RowIndex作為Value
        /// 允許設置DataFormatString格式化數據
        /// </remarks>
        [AspNetHostingPermission(SecurityAction.Demand,
        Level = AspNetHostingPermissionLevel.Minimal)]
        public class RadioButtonSelectField : DataControlField
        {
        /// <summary>
        /// 單選按鈕組名,默認去GridView的ClientID
        /// </summary>
        [Description("單選按鈕組名,默認去GridView的ClientID")]
        public string RadioButtonGroupName
        {
        get
        {
        return this.ViewState["RadioButtonGroupName"] as string;
        }
        set
        {
        this.ViewState["RadioButtonGroupName"] = value;
        }
        }

        /// <summary>
        /// 單選按鈕的樣式
        /// </summary>
        [Description("單選按鈕的樣式")]
        public string RadioButtonCssClass
        {
        get
        {
        return this.ViewState["RadioButtonCssClass"] as string;
        }
        set
        {
        this.ViewState["RadioButtonCssClass"] = value;
        }
        }

        /// <summary>
        /// 要綁定的數據表達式
        /// </summary>
        [Description("要綁定的數據表達式")]
        public string DataField
        {
        get
        {
        return this.ViewState["DataField"] as string;
        }
        set
        {
        this.ViewState["DataField"] = value;
        }
        }

        /// <summary>
        /// 要綁定的數據表達式格式
        /// </summary>
        [Description("要綁定的數據表達式格式")]
        public string DataFormatString
        {
        get
        {
        return this.ViewState["DataFormatString"] as string;
        }
        set
        {
        this.ViewState["DataFormatString"] = value;
        }
        }

        /// <summary>
        /// return self;
        /// </summary>
        /// <returns></returns>
        protected override DataControlField CreateField()
        {
        return this;
        }

        /// <summary>
        /// 添加控件
        /// </summary>
        /// <param name="cell"></param>
        /// <param name="cellType"></param>
        /// <param name="rowState"></param>
        /// <param name="rowIndex"></param>
        public override void InitializeCell(DataControlFieldCell cell, DataControlCellType cellType, DataControlRowState rowState, int rowIndex)
        {
        base.InitializeCell(cell, cellType, rowState, rowIndex);

        if (cellType == DataControlCellType.DataCell)
        {
        var literal = new Literal();

        if (string.IsNullOrEmpty(this.DataField))
        {
        SetLiteralHtml(literal, rowIndex.ToString());
        }
        else
        {
        literal.DataBinding += new EventHandler(literal_DataBinding);
        }

        cell.Controls.Add(literal);
        }
        }

        void literal_DataBinding(object sender, EventArgs e)
        {
        if (string.IsNullOrEmpty(this.DataField))
        {
        return;
        }

        var literal = sender as Literal;
        if (literal == null)
        {
        return;
        }
        var cell = literal.Parent as TableCell;
        if (cell == null)
        {
        return;
        }
        var container = literal.NamingContainer;
        if (container == null)
        {
        return;
        }
        bool foundDataItem;
        var dataItem = DataBinder.GetDataItem(container, out foundDataItem);
        if (!foundDataItem)
        {
        return;
        }

        var dataValue = null as string;
        if (this.DataField.Contains('.'))
        {
        dataValue = DataBinder.Eval(dataItem, this.DataField, this.DataFormatString);
        }
        else
        {
        dataValue = DataBinder.GetPropertyValue(dataItem, this.DataField, this.DataFormatString);
        }

        SetLiteralHtml(literal, dataValue);
        }

        private void SetLiteralHtml(Literal literal, string dataValue)
        {
        var groupName = this.RadioButtonGroupName;
        if (string.IsNullOrEmpty(groupName))
        {
        groupName = literal.Parent.Parent.Parent.Parent.ID;
        }
        var cssClass = this.RadioButtonCssClass;
        if (!string.IsNullOrEmpty(cssClass))
        {
        cssClass = string.Format("class=\"{0}\"", this.RadioButtonCssClass);
        }

        var selected = false;
        var selectedValue = literal.Page.Request[groupName];
        if (string.IsNullOrEmpty(selectedValue) == false)
        {
        if (string.Compare(selectedValue, dataValue, true) == 0)
        {
        selected = true;
        }
        }

        var rbHtml = string.Format("<input type=\"radio\" name=\"{0}\" value=\"{1}\" {2} {3} />",
        groupName,
        dataValue,
        cssClass,
        selected ? "checked" : string.Empty);

        literal.Text = rbHtml;
        }
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net 擴展GridView 增加單選按鈕列的代碼

        asp.net 擴展GridView 增加單選按鈕列的代碼: 代碼如下:/// <summary> /// 單選按鈕列 /// </summary> /// <remarks> /// 如果沒有設置GroupName,則使用GridView的ID作為GroupName /// 如果沒有設置DataField,則使用RowIndex作為Value /// 允許設
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲综合偷自成人网第页色| 内射干少妇亚洲69XXX| 99亚洲男女激情在线观看| 99精品全国免费观看视频| 亚洲中字慕日产2021| 欧美在线看片A免费观看| 亚洲偷自拍另类图片二区| 处破痛哭A√18成年片免费| 亚洲欧美日韩久久精品| 日本一线a视频免费观看| 风间由美在线亚洲一区| 亚洲国产精品人人做人人爽| 中文字幕免费在线看| 亚洲午夜视频在线观看| 18禁成人网站免费观看| 亚洲最大的成人网| 亚洲成av人片一区二区三区| 一级毛片免费不卡直观看| 亚洲国产成人无码av在线播放| 18级成人毛片免费观看| 亚洲国产AV无码一区二区三区| 国产精品无码一区二区三区免费 | 精品国产_亚洲人成在线高清| a国产成人免费视频| 亚洲福利电影在线观看| 免费高清小黄站在线观看| caoporn成人免费公开| 精品亚洲国产成AV人片传媒| 欧美a级成人网站免费| 污污污视频在线免费观看| 久久99国产亚洲高清观看首页| 亚洲免费在线视频播放| 国产精品观看在线亚洲人成网| 国产亚洲成av人片在线观看| 免费毛片在线看片免费丝瓜视频| 日韩免费高清一级毛片| 久久亚洲精品国产精品| 四虎永久在线精品免费观看地址| 丁香花在线观看免费观看图片 | 久久er国产精品免费观看2| 亚洲一区二区三区免费在线观看|