擴充套件AspNetPager控制元件,增加動態設定PageSize的方法
說明:以下更改基於Version 7.5.1 - 2015-6-9 原始碼下載地址:https://github.com/Webdiyer/AspNetPagerCN/releases
1.通過url方式更改PageSize
AspNetPager Version 7.1以上版本可以使用UrlPageSizeName引數來更改。PageSize屬性原始碼(Properties.cs檔案中):
2.通過自定義下拉框更改PageSizepublic int PageSize { get { //檢測使用UrlPageSizeName引數 if (!string.IsNullOrEmpty(UrlPageSizeName) && !DesignMode) { int pageSize; if (int.TryParse(Page.Request.QueryString[UrlPageSizeName], out pageSize)) { if (pageSize > 0) return pageSize; } } //End if (null != cloneFrom) return cloneFrom.PageSize; object obj = ViewState["PageSize"]; return (obj == null) ? 10 : (int)obj; } set { ViewState["PageSize"] = value; } }
a)在Properties.cs檔案中增加ShowPageSizeBox屬性
b)在Helper.cs檔案中更改RenderPagingElements方法在原方法的後面增加/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="ShowPageSizeBox"]/*'/> [Browsable(true), ANPCategory("cat_PageSizeBox"), DefaultValue(null), ANPDescription("desc_ShowPageSizeBox")] public bool ShowPageSizeBox { get { if (null != cloneFrom) return cloneFrom.ShowPageSizeBox; object obj = ViewState["ShowPageSizeBox"]; //此處為當未設定ShowPageSizeBox屬性時,取web.config中AppSettings的ShowPageSizeBox if (obj == null) { obj = System.Configuration.ConfigurationManager.AppSettings["ShowPageSizeBox"]; } return (obj == null) ? false : bool.Parse(obj.ToString()); } set { ViewState["ShowPageSizeBox"] = value; } }
... //上面的程式碼省略,此處為要新增的程式碼 if (ShowPageSizeBox && this.PageSize < this.RecordCount) { string sizeClientId = UniqueID + "_ChangePageSize"; writer.Write(" 每頁顯示條數:"); writer.AddAttribute(HtmlTextWriterAttribute.Name, sizeClientId); writer.AddAttribute(HtmlTextWriterAttribute.Id, sizeClientId); writer.AddAttribute(HtmlTextWriterAttribute.Onchange, Page.ClientScript.GetPostBackEventReference(this, null)); writer.RenderBeginTag(HtmlTextWriterTag.Select); listPageSize(writer); writer.RenderEndTag(); } //結束 }//end RenderPagingElements
同時在Helper.cs檔案中增加下拉框的內容選項方法
void listPageSize(HtmlTextWriter writer)
{
for (int i = 10; i <= 50; i+=5)
{
writer.Write("<option value=\"");
writer.Write(i);
writer.Write("\"");
if (i == PageSize)
writer.Write(" selected=\"true\"");
writer.Write(">");
writer.Write(i);
writer.Write("</option>");
}
}
c)修改aspnetpager.cs檔案中的OnLoad事件 /// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Method[@name="OnLoad"]/*'/>
protected override void OnLoad(EventArgs e)
{
if (UrlPaging)
{
currentUrl = Page.Request.Path;
queryString = Page.Request.ServerVariables["Query_String"];
if (!string.IsNullOrEmpty(queryString) && queryString.StartsWith("?")) //mono <v2.8 compatible
queryString = queryString.TrimStart('?');
if (!Page.IsPostBack && cloneFrom == null)
{
int index;
int.TryParse(Page.Request.QueryString[UrlPageIndexName], out index);
if (index <= 0)
index = 1;
else if (ReverseUrlPageIndex)
index = PageCount - index + 1;
PageChangingEventArgs args = new PageChangingEventArgs(index);
OnPageChanging(args);
}
}
else
{
inputPageIndex = Page.Request.Form[UniqueID + "_input"];
#region ########## 新增ShowPageSizeBox屬性 ##################
if (null != Page.Request.Form[UniqueID + "_ChangePageSize"])
{
this.PageSize = int.Parse(Page.Request.Form[UniqueID + "_ChangePageSize"]);
}
#endregion
}
base.OnLoad(e);
if ((UrlPaging || (!UrlPaging && PageIndexBoxType == PageIndexBoxType.TextBox)) && (ShowPageIndexBox == ShowPageIndexBox.Always || (ShowPageIndexBox == ShowPageIndexBox.Auto && PageCount >= ShowBoxThreshold)))
{
HttpContext.Current.Items[scriptRegItemName] = true;
}
}
d)給ShowPageSizeBox屬性新增說明,在AspNetPagerDocs.xml檔案中新增如下節點。 <Property name="ShowPageSizeBox">
<summary>
獲取或設定每頁顯示記錄數。
</summary>
<value>
一個布林型
</value>
</Property>
相關推薦
擴充套件AspNetPager控制元件,增加動態設定PageSize的方法
說明:以下更改基於Version 7.5.1 - 2015-6-9 原始碼下載地址:https://github.com/Webdiyer/AspNetPagerCN/releases 1.通過url方式更改PageSize AspNetPager Version 7.1以
android在滑動控制元件過程中動態設定view背景透明的問題
2、在網上找了資料才知道,在佈局中多個控制元件同時使用一個資源的時候,這些控制元件會共用一個狀態,例如ColorState,如果你改變了一個控制元件的狀態,其他的控制元件都會接收到相同的通知。這時我們可以使用mutate()方法使該控制元件狀態不定,這樣不定狀態的控制元件就不會共享自己的狀態了。
Android 開發,JAVA動態設定控制元件大小
在我們的實際android開發中,我們經常需要對控制元件進行設定。在xml中設計大小,我們大家都很熟悉。那麼,使用java動態設定控制元件大小,該如何寫呢。以下是我寫的方法: /** * 設定控制元件大小 * @param view 控制元件
VS程式設計,編輯WPF過程中,點選設計器中介面某一控制元件,在XAML中高亮突出顯示相應的控制元件程式碼的設定方法。
在編輯製件WPF過程中,當介面中控制元件較多時,可通過點選設計器中具體的控制元件,從而中在xaml程式碼視窗中快速跳轉到對應的部分。為了突出顯示該部分控制元件程式碼的名稱,方便視覺上直觀的觀察到被選中的控制元件對應的XAML程式碼,可以在VS中設定:選中控制元件後,高亮顯示對應的XAML
scrollArea設定背景顏色不影響子控制元件,終於找到解決辦法(轉載)
使QScrollArea的背景透明,乍看很easy,其實卻是一個目前百度上百不出來的問題; 最容易想到的,用qss: scrollArea->setStyleSheet("background-color:transparent;"); 但是這樣會使scrol
android 在java程式碼中動態設定控制元件的位置和設定片大小
需要動態改變佈局裡面控制元件的相對位置 如: 1.改變RelativeLayout佈局裡面某個控制元件的layout_toLeftOf 的屬性 RelativeLayout.Layoutparams params = (RelativeLayout.LayoutParams)view
【Visual Studio 擴充套件工具】使用 ComponentOne迷你圖控制元件,進行視覺化資料趨勢分析
概述 迷你圖 —— Sparklines是迷你的輕量級圖表,有助於快速視覺化資料。 它們是由資料視覺化傳奇人物Edward Tufte發明的,他將其描述為“資料密集,設計簡單,位元組大小的圖形。”雖然迷你圖不包含傳統圖表中的許多元素(如軸和座標), 基於它們的簡單性,它們可以比其他圖表型別更具資訊性
sobox彈窗控制元件,設定彈出窗的z-index
之前試圖修改js原始碼,想了一天,但是不管用,然後在jsp直接加程式碼,竟然可以了,程式碼如下: function click(){ var lang = 'zh'; var
android不用xml檔案,動態寫Animation,注:Animation並不會真正移動控制元件,需要呼叫onAnimationEnd
android不用xml檔案,動態寫Animation // 移動animation public static void Translate(View view, float fromX, float toX, float fromY, float toY, l
Android中控制元件的事件——xml設定對應效果state_[pressed,checked,selected,focused]
本篇文章主要是討論下控制元件的點選事件 一、在Drawable中新增控制元件的backgroundColor樣式(點選切換顏色) 直接貼測試結果了:【在Drawable中建立xml資原始檔,在其中的Selector標籤對中新增樣式(如下黑色截圖)】 ImageButton
Delphi 動態建立控制元件,賦值,使用
uses 中定義: type TMyComponent = class(TComponent) public item1, item2, item3, item4, item5, item6: string; constructor Crea
asp.net動態生成控制元件,併為控制元件繫結事件
1.動態查詢控制元件的例子: //查詢控制元件 Image img = (Image)Page.FindControl("Image1"); //設定圖片資源 img.ImageUrl = "~/image/p
NTKO控制元件安裝:“不能裝載文件控制元件,請在檢查瀏覽器的選項中檢查瀏覽器的安全設定”問題
上禮拜手欠把OFFICE文件控制元件NTKO給解除安裝了,結果這周通知基金結題網上填寫報告。本以為就裝個控制元件,沒想到各種問題,幾經嘗試終於解決,總結如下: 1. 問題:不能裝載文件控制元件 經常遇到專案申報系統需要安裝網上OFFICe文件控制元件NTKO。首次使用時會提
工作記錄--WPF自定義控制元件,實現一個可設定編輯模式的TextBox
1. 背景 因為最近在使用wpf開發桌面端應用,在檢視頁面需要把TextBox和Combox等控制元件設定為只讀的。原本是個很簡單的事,設定屬性IsReadOnly="True"或IsEnabled="False"就可以解決了,可是產品覺得樣式不是他想要的(背景是灰色的),想要實現的效果是和編輯時的樣式一
duilib中將xml封裝為控制元件簡單示例(簡單自定義控制元件,封裝幾個基本控制元件合為1個自定義控制元件)
使用duilib的時候,難免會有這樣的需求: 某一塊Container(Layout)以及裡面的佈局需要重複用,不想每次都複製貼上這麼多,要不然xml太大了; 通過繼承來自定義一個控制元件,比如CButtonUIEx之類的,想讓他像button一樣在xml中被識別; xml裡面的東西
Combobox控制元件,使用MoveWindow()移動位置時,OnNcCalcSize訊息處理
說到OnNcCalcSize在程式內部的訊息處理次數。主要說的是Combobox控制元件 1:如果是從工具箱拖出來的控制元件 只會走一次 OnNcCalcSize() 訊息 2:從工具箱中拖出來的控制元件,並且使用了MoveWindow時 &
flutter的對齊控制元件,拓展空間,listview,gridview控制元件使用
1.使用mainAxisAlignment和crossAxisAlignment屬性來控制行或列如何對齊其子控制元件。對於行,主軸水平執行,橫軸垂直執行。對於列,主軸垂直執行,橫軸水平執行。 2.在頁面展示的時候經常出現螢幕展示不全,這時候就會在螢幕上出現斜線框子。這樣的解決方法一是使用l
利用photoView實現可點選放大到全屏顯示的控制元件,效果類似於微信朋友圈點開看大圖
此控制元件繼承自ImageView,實現效果與微信朋友圈點開看大圖相似,點選控制元件後進入沉浸模式全屏顯示大圖,全屏時雙擊或手指拉伸可放大圖片,單擊會退出全屏 老規矩,先上控制元件實現程式碼: /** * 可點選放大全屏顯示的imageView * Created by Administ
金蝶bos 自定義UI介面新增複選框控制元件,並且做業務處理
/** * 顯示工程型別 * @author daihao * 
WPF查詢指定型別名的控制元件,超簡單的方法
WPF查詢指定型別名的控制元件,超簡單的方法 /// <summary> /// 從當前控制元件開始,查詢指定型別名的控制元件 /// </summary> /// <param name="obj">當前控制元件</param> //