|
如何在WebGridView網頁中以HyperLink方式傳遞參數到另一個網頁? |
觀看回應
|
|
在WebGridView中將Columns內的欄位, 改用HyperLinkFields的型態,設定DataTextField為綁定的欄位,如果你要HyperLink網頁沒有要傳參數,直接使用 NavigateURL即可;如果你要動態傳遞參數,則須設定DataNavigateURLFormatString連結到你要的HyperLink頁面,如: ~/TEST/W000F.aspx?CUST={0} ,連結到 W00F.asp,傳一個變數名稱CUST,內容則定義在DataNavigateURLFields,如設為CustomerID代表要傳CustomerID到CUST變數中。 最後在W000F.aspx中可以取得Cust變數並處理資料的對應: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InitializeComponent(); Master.DataSource = WMaster; string str = Page.Request.QueryString["Cust"]; //取得Cust的變數 Master.SetWhere("CustomerID='" + str + "'"); //設定為相對的資料. } }
|
|
|
|
WebDataSource的EnableViewState可以設為False嗎? |
觀看回應
|
|
WebDataSource的EnableViewState是一定要設定為True的,這是因為WebDataSource的一些屬性是存在ViewState中,如果將ViewState設為False,會導致一些屬性在網頁返回時無法保存上一次的狀態,而導致意想不到的結果。
|
|
|
|
當Detail有資料列時,如何讓A欄位值為0時,設置該筆資料列為無法編輯? |
觀看回應
|
|
可以在RowDataBound事件中處理,先將CommandField轉換成TemplateField,找到編輯按鈕的ID,參考代碼: protected void wgvDetail_RowDataBound(object sender, GridViewRowEventArgs e) { if(e.Row.RowIndex != wgvDetail.EditItemIndex) { if (e.Row.RowType == DataControlRowType.DataRow) { string text = e.Row.Cells[1].Text; //如果A欄位不是TemplateField; string text = (e.Row.FindControl("labelA") as Label).Text; //如果A欄位是TemplateField if (text == "0") { ImageButton edit = (ImageButton)e.Row.FindControl("ImageButtonEdit"); if (edit != null) { edit.Visible = false; } } } } }
|
|
|
|
是否可以依資料欄位內容,將該筆資料的顯示行背景顏色設定為指定顏色EX:欄位內容文字為A則為紅色,為B則為藍色? |
觀看回應
|
|
可以在gridview的RowDataBound事件寫程式: if (e.Row.RowType == DataControlRowType.DataRow) { //取得當前筆資料的某欄位元值以便比較.其中Cells[i]的i為欄位在GridView中的次序 string ss = e.Row.Cells[3].Text; if(ss == "your value") { e.Row.BackColor = Color.Red; } }
|
|
|
|
如何讓WebGridView即時刷新? |
觀看回應
|
|
撰寫WebGridView.DataBind();
|
|
|