討論區內文

當前位置:首頁>討論專區>內文


1.主題:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/10/29 下午 03:52:02

發表人來自:

210.242.249.217

如下圖,想請問一下,我該如何在點擊按鈕後,彈出一個視窗,裡頭放一個允許多選的datagrid,
選擇完多筆資料後,將資料都帶入另一個datagrid?
再請協助~謝謝。

2.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/10/29 下午 04:43:59

發表人來自:

116.233.73.65

RWD的話,可以參考下面的方法:

1. 網頁放一個RWDDialog,裡面放一個grid,grid設定可以多選

2. $('#Dialog1').modal('show');   可以開啓dialog

3. 可能用到的方法:

 var rows = $('#dgMaster').datagrid('getChecked');   //取得grid選中的row

$('#dgMaster').datagrid('insert_row', { CustomerID: 'id的值', Address:'地址' });  //新增一筆row,帶入CustomerID和Address兩個欄位值。

3.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/5 上午 10:40:34

發表人來自:

210.242.249.217

做法試過,可以。
但現在遇到一些問題,再請協助解決。
問題如下面兩點。(並附上圖片輔助說明)

1. 資料無法分頁。
Grid的資料,是我自己在後端用程式碼另外組出來再套用上去的,在Grid上已設定分頁功能,
但資料仍是一次全撈,無法分頁。

2.欄位無法查詢。
Grid的資料來源,原本是隨便一個Table,現在我自己組出資料,套到Grid後,
在查詢時,仍會去查原本的Table,但我原本的Table根本沒有這樣的欄位,導致查詢失敗。

4.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/5 上午 11:16:46

發表人來自:

116.233.73.65

grid不是直接關聯到Server的InfoCommand嗎?如果是自己寫servermethod取出并展示的,這個沒辦法分頁的。但關聯到InfoCommand是可以分頁的。

不是太瞭解您的細節,如果sql語句複雜,這個要您自己寫程式組where條件取過濾的。

5.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/5 上午 11:50:19

發表人來自:

210.242.249.217

我確實沒有關聯到InfoCommand。

關於分頁的部份,沒辦法像下面帖子2F的部份去處理嗎?
因為我處理完的資料有1000多筆,沒辦法就這樣讓他一次顯示,
再煩請協助確認,謝謝。

https://www.infolight.com/MVC/Home/DiscussDetail/412159

查詢方式,我大概有找到方法了,我自己再先試試看。

6.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/5 下午 01:26:33

發表人來自:

116.233.73.65

分頁的話,就要關聯InfoCommand。另外,多選的話,分頁可能會有問題,因為切換頁碼,原來的內容就會丟失。
7.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/5 下午 03:54:39

發表人來自:

210.242.249.217

我有想到一個方法,就是我用InfoCommand先拉一個表,
然後做了三個虛擬欄位,本來是想透過FormatScript寫方法,
去後端執行運算最後回傳資料,再取代本來的值,
但是卻都失敗,這有解嗎?

我在要取代的欄位值中,FormatSctipt寫下面的方法,
但最後我都只取得undenined的值。

function getDept(pValue) {
        $.ajax({
            type: "POST",
            url: '../handler/JQDataHandle.ashx?RemoteName=wMISAccountApply.wMISAccountApply', //連接的Server端,command
            data: "mode=method&method=" + "GetDept" + "&parameters=" + $.parseJSON(sessionStorage.clientInfo).UserID + ',' + $.trim(pValue) + ',' + $.parseJSON(sessionStorage.clientInfo).UserPara1.split('(')[1].substr(0, 5),
            cache: false,
            async: false,
            success: function (data) {
                return data;
            }
        });
    }
8.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/5 下午 04:13:43

發表人來自:

116.233.73.65

function....

{

var value = ''

$.ajax({

.....

sucess:function(data){

value = data

}

})

retrurn value

}

9.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/5 下午 04:14:44

發表人來自:

116.233.73.65

您先試試看吧,如果有其他的問題再反饋一下。
10.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/5 下午 04:31:06

發表人來自:

210.242.249.217

上面那個問題可以了,謝謝。

那再請問一下,稍早有提到,分頁沒辦法處理多選的狀態,
這個有辦法處理嗎?
不然這樣功能還是無法提供讓User使用。

另外後續可能還有一個問題,就是我現在在表格上選中的資料,
將其寫進另一個表格。倘若此時,我再開啟原本視窗,
曾被我選中的資料,有辦法自動勾選嗎?
11.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/5 下午 05:01:04

發表人來自:

116.233.73.65

這個沒有好的辦法。網頁就是這樣的,只有當前看到頁的資料,換頁后,就只能換頁的資料。有一個想法,操作稍微有點複雜,您考慮看看。

放兩個grid,第一個grid,分頁,顯示您者1000筆資料。第二個grid跟第一個結構一樣,沒有任何資料,不分頁。

每次勾選一筆,就新增到第二個grid中,這樣換頁也不影響。在按比如一個確定按鈕時,把第二個grid的資料新增到當前的grid中。

12.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/5 下午 05:58:44

發表人來自:

210.242.249.217

因為效能的問題,上述方法我可能沒辦法這樣做。

我現在想嘗試用你們RWD簽核中的加簽功能,
看起來他是在勾選角色後,就觸發動作加資訊到一個框框,
我若想這樣做,該怎麼處理?再請告知~謝謝。
13.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/5 下午 06:07:15

發表人來自:

116.233.73.65

11樓的方法并沒有效能的問題,其實跟12樓的是一樣的。12樓的是完全用程式做的,并沒有現成的元件可以使用。grid的方法的話,還是可以的,程式不會很多。只是新增grid的row。
14.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/5 下午 06:11:33

發表人來自:

210.242.249.217

嗯~瞭解了~我剛誤會了~若是這樣可以。

但我要怎麼再勾選一筆後,就新增到第二個GRID?
我找不到CheckBox的事件?
15.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/5 下午 06:17:54

發表人來自:

210.242.249.217

勾選後,新增該筆資料到第二個Grid的做法,
也麻煩請一併告知,謝謝你。
16.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/6 上午 09:09:41

發表人來自:

116.233.73.65

在網頁的document或者 $(function ()裡面定義:

            $('#dgMaster').children('tbody').on('click', '.datagrid-checkbox>:checkbox', function () {
                alert($(this).is(':checked'));   //取得是否勾選
                var row = $(this).closest('tr').data('row');  
            })

grid新增row:

$('#dgMaster').datagrid('insert_row', row);

row內是欄位和值,規格比如,如果結構一樣上面的row可以直接用:

$('#dgMaster').datagrid('insert_row', { CustomerID: '客戶預設' });

17.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/10 下午 07:46:33

發表人來自:

218.161.57.61

我用來儲存新增資料的grid,結構與挑選的grid一樣,
新增完後,如下,都沒資料。

我在程式下中斷點,看資料是都有抓到,
但不知道為什麼用
$('#dgMaster').datagrid('insert_row', { CustomerID: '客戶預設' });
的方式寫不進去。

id與欄位名稱我都有對過,沒問題,再請協助確認,謝謝。
18.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/11 上午 08:53:17

發表人來自:

116.233.73.65

元件的id正確嗎?欄位名字有調整嗎?
19.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/11 上午 09:33:04

發表人來自:

210.242.249.217

id是對的。
欄位名稱也都一樣。
看不出問題,再請協助,謝謝。
20.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/11 上午 09:47:46

發表人來自:

116.233.73.65

可以將您的網頁或者程式完整貼上來嗎?
21.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/11 上午 10:16:04

發表人來自:

210.242.249.217

我找到問題了,問題如下。

$('#dgMaster').datagrid('insert_row', { CustomerID: '客戶預設' });
你提供的這一行,將insert_row 改成 appendRow,
資料顯示就都正常了。

但再請教一件事,選單預設的全勾選功能,有辦法隱藏嗎?
因為現在的寫法,只在勾選單筆的選項時,才會觸發動作。
22.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/11 上午 11:28:36

發表人來自:

116.233.73.65

$('#dgMaster').find('tbody>tr>td.datagrid-checkbox>:checked').hide()
23.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/11 上午 11:54:22

發表人來自:

210.242.249.217

加了之後(id確定有調整),沒有效果哦。
24.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/11 下午 12:53:09

發表人來自:

210.242.249.217

我要隱藏的checkbox如下圖的紅框,
但你提供的語法似乎是其它的,再請協助確認,謝謝。
25.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/11 下午 02:24:18

發表人來自:

116.233.73.65

改為:

            $('#dgMaster').find('tbody>tr>td.datagrid-checkbox').hide()
            $('#dgMaster').find('thead>tr>th.rowcheck').hide()

26.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/11 下午 02:33:39

發表人來自:

210.242.249.217

試過,隱藏是有效果了,
不過我現在只寫了第二行,去隱藏最上面全選的框框,
然後就變成下圖的樣子。
資料都跑掉了,看起來是都往右移了一格,這要怎麼調整,謝謝。
27.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/11 下午 02:48:57

發表人來自:

210.242.249.217

上述更正一下,看起來是最上面的標題欄位都往左移動了一格,造成顯示異常。

除此之外,我下面資料的選項,有辦法僅隱藏特定某一筆的勾勾選項嗎?
再煩請一併確認,謝謝。

28.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/11 下午 03:21:34

發表人來自:

116.233.73.65

重新改一下程式:

             $('#dgMaster').find('tbody>tr>td.datagrid-checkbox>input').hide()

             $('#dgMaster').find('thead>tr>th.rowcheck>input').hide()

只隱藏某一個:

$($('#dgMaster').find('tbody>tr>td.datagrid-checkbox>input')[1]).hide()  //隱藏第二筆

29.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

hmdick

發表日期:

2020/11/11 下午 03:27:16

發表人來自:

210.242.249.217

試過,現在都可以了,
請直接結案,感謝幫忙。
30.主題:Re:[iCoder-WF] 如何透過按鈕,呼叫一個允許多選的Grid資料,再將選擇出來的資料,塞到指定的Grid?

發表人名稱:

Lily

發表日期:

2020/11/11 下午 04:10:06

發表人來自:

116.233.73.65

結案