台灣最大程式設計社群網站
線上人數
799
 
會員總數:242627
討論主題:187610
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 二個gridview addrow
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
二個gridview addrow
價值 : 60 QP  點閱數:132 回應數:5

樓主

龍貓王
初學者
20 40
1235 67
發送站內信

請教各位大大
目前在畫面上做了二個Panel, P1, P2
各放一個gridview, G1, G2
P1 點查詢鈕時, 顯示P2, 在P2下查詢條件, 查出相關資料在G2
確定後, 再將選取的資料回傳給G1, 且因可能有多次查詢
G1 可能會不斷新增

查了一下gridview新增row的提問例子有將原datasource 的DT 新增, 再重新databind
也有databind時新增時, 迴圈去跑
在想二個gridview間 是否有更方便的做法



搜尋相關Tags的文章: [ gridview ] , [ addrow ] ,
本篇文章發表於2018-05-28 16:40
== 簽名檔 ==
新手, 帥氣XD
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
從您的描述不是很理解您的問題
1.G1G2的資料來源是資料庫嗎?還是其他的資料(例如物件集合、DataTable)
2.
確定後, 再將選取的資料回傳給G1, 且因可能有多次查詢
G1 可能會不斷新增

這句話不是很理解

是否請您更詳細的描述您的問題,或者,舉例來說明您的問題

^_^
本篇文章回覆於2018-05-29 10:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

龍貓王
檢舉此回應
gridview G2 的來源會依條件欄位去資料庫撈資料出來塞到datatable 再指定給G2的datasource
G2 呈現撈出來的資料, USER 者再勾選想要的row, 確認後塞到 gridview G1

塞了之後, user 可以再下新的條件, 去撈資料給G2 再挑選再塞到G1

所以G1 在想如何方便的比對是否存在同key後, 若不存在新增新的row
本篇文章回覆於2018-05-29 12:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

龍貓王
檢舉此回應
目前是想到先用以下方式
只是在想有沒有更簡單的方式 XD

DataTable dt = new DataTable("table"); //宣告全域datatable

protected void Page_Load(object sender, EventArgs e)
{
dt_init(); //初始化dt table 欄位
}

//確認回傳按鈕中
protected void btn_qry_rtn_Click(object sender, EventArgs e)
{
if (ViewState["dt"] != null )
{
dt = (DataTable)ViewState["dt"]; //拿回舊值
}

foreach (GridViewRow gvrow in g2.Rows)
{
CheckBox cbx = (CheckBox)gvrow.FindControl("CheckBox1") ;

if (cbx.Checked )
{
DataRow row;
row = dt.NewRow();
//row 欄位指定 gvrow 欄位值
dt.Rows.Add(row);
};

}

ViewState["dt"] = dt; //指定舊值
g1.DataSource = dt;
g1.DataBind();
}
本篇文章回覆於2018-05-29 15:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
G1 在想如何方便的比對是否存在同key後, 若不存在新增新的row


依據G1的DataSource的同,做法有幾個
1.與資料庫結合
那就很簡單select之後,然後再決定是否要Inert
2.與資料庫無關,用DataTable
DataTable的Select
3.與『List<Of Object>』物件集合,做結合(推薦此做法)
可以透過LINQ,下Select語法輕易比對出是否有相同項目
再依據結果進行維護

^_^
本篇文章回覆於2018-05-29 15:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

龍貓王
檢舉此回應
1. 這個不行, 因為是select 後, user會再挑選
2. 目前就只好先用datatable
3. 這個別人寫好, 我會改, 但自己寫還不行..XD

先謝謝小貓了
本篇文章回覆於2018-05-29 16:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.