<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
        主站蜘蛛池模板: 久久亚洲国产欧洲精品一| 蜜桃精品免费久久久久影院| 免费国产怡红院在线观看| 亚洲乱亚洲乱妇24p| 性生交片免费无码看人| 亚洲三级视频在线| 男男AV纯肉无码免费播放无码 | 久久国内免费视频| 亚洲一区二区三区在线| 成人女人A级毛片免费软件| 亚洲日本久久一区二区va| 亚洲第一成年免费网站| 亚洲av成人无码网站…| 男人的天堂亚洲一区二区三区| 亚洲色偷偷偷综合网| 国产午夜免费福利红片| 亚洲黄片手机免费观看| 精品国产亚洲一区二区三区| 91福利视频免费观看| 亚洲中文字幕日本无线码| 日本免费无遮挡吸乳视频电影| 国产亚洲精品仙踪林在线播放| 久久久久一级精品亚洲国产成人综合AV区 | 免费电影在线观看网站| 久久亚洲欧美国产精品| 国产精品V亚洲精品V日韩精品| 国产免费一区二区视频| 亚洲AV无码精品蜜桃| 又粗又大又长又爽免费视频 | 久久久免费精品re6| 国产成+人+综合+亚洲专| 一本色道久久88综合亚洲精品高清| 人人鲁免费播放视频人人香蕉| 亚洲成AV人片在线观看无码| 真人做人试看60分钟免费视频| 人人狠狠综合久久亚洲| 精品亚洲一区二区| 成年女人18级毛片毛片免费| 中文精品人人永久免费| 亚洲综合小说另类图片动图| 亚洲一区二区女搞男|