有關兩個StringGrid間資料互相交換 |
尚未結案
|
ShinaaShu
一般會員 發表:1 回覆:10 積分:2 註冊:2004-01-19 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
erosme
初階會員 發表:5 回覆:44 積分:29 註冊:2002-12-23 發送簡訊給我 |
您好, 最簡單的方法是用順序排序法.
1.當你將一筆資料向右 or 向左移時.
先找出比該編號較大且最接近的值;
例: 當 "3" 為"mov_row"向左移時,
其 "4" 為"insert_row" 是較大且最接近的值.
2.然後將左邊的資料先往後搬.
SG1->RowCount = SG1->RowCount 1 ;
for ( i = sg1_last_row ; i <= insert_row ; i--)
{
SG1->Rows[i 1] = SG1->Rows[i] ;
}
3.接著將要左移的資料複製過來.
SG1->Rows[insert_row] = SG2->Rows[mov_row] ;
4.最後整理右邊的StringGrid "SG2"
for ( i = mov_row ; i < sg2_last_row ; i )
{
SG2->Rows[i] = SG2->Rows[i 1] ;
}
SG2->Rows[sg2_last_row]->Clear();
SG2->RowCount = SG2->RowCount-1 ; 大致上這樣應該可以滿足你的要求.
|
ShinaaShu
一般會員 發表:1 回覆:10 積分:2 註冊:2004-01-19 發送簡訊給我 |
引言: 您好, 最簡單的方法是用順序排序法. 1.當你將一筆資料向右 or 向左移時. 先找出比該編號較大且最接近的值; 例: 當 "3" 為"mov_row"向左移時, 其 "4" 為"insert_row" 是較大且最接近的值. 2.然後將左邊的資料先往後搬. SG1->RowCount = SG1->RowCount 1 ; for ( i = sg1_last_row ; i <= insert_row ; i--) { SG1->Rows[i 1] = SG1->Rows[i] ; } 3.接著將要左移的資料複製過來. SG1->Rows[insert_row] = SG2->Rows[mov_row] ; 4.最後整理右邊的StringGrid "SG2" for ( i = mov_row ; i < sg2_last_row ; i ) { SG2->Rows[i] = SG2->Rows[i 1] ; } SG2->Rows[sg2_last_row]->Clear(); SG2->RowCount = SG2->RowCount-1 ; 大致上這樣應該可以滿足你的要求.Dear erosme: Thanks a lot ....I will try it on BCB.Thank you very much!! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |