C#.NET Q&A

C# listView 에서 목록 수정 하고싶어요.. 달나라 평점: 없음 조회: 2686

C# 시작한지 1주일도 안된 초봅니다 ㅋ

방금 친절하신분 덕분에 삭제에 성공했습니다. 감사합니다 (__)
 
이제 수정하기에 도전 해야된는대요 CheckBox에서 1개 선택해서 수정하기 눌렀을때
 
Form2에서 채크했던 item의 내용이 자동으로 적혀있고 내용을 바꿔서 수정완료를 눌렀을때
 
원래 Form1의 ListView의 내용이 바뀌게 할수 있을까요~?
태그 : CheckBox listview
작성자 정보
달나라
Level 12
 [EXP.5/40]

메일:  비공개
글등록 +12 300 덧글등록 +3 44
자기소개
초보 그레머
글 공유하기 |
  tweet facebook
2011-03-24 오후 2:47:16
나도한마디
사용자
fdgh2q            [2011-03-24]
Level 15
 [EXP.32/40]
일단 선택한것만 삭제하고 싶으시면 이렇게 하면 되지 않을까요~~
for (int i = 0 ; i < listView1.Items.Count; i++)
{
if (listView1.Items[i].Checked == true)
{
listView1.Items.RemoveAt(i);
i--;
}

}
사용자
fdgh2q            [2011-03-24]
Level 15
 [EXP.32/40]
수정할대 다른폼을 띄우셔서 수정한다면 ^^;; 방법은 여러가지네요~~
C# 시작한지 일주일 되셨으면 ... 쉬운방법으로는....
폼객체 찍어낼때 생성자로 레퍼런스를 넘겨주고요...
자식폼에서 부모폼의 레퍼런스로 리스트뷰를 수정하는 방법이 있겠네요..
사용자
달나라            [2011-03-24]
Level 12
 [EXP.5/40]
private void 수정_Click(object sender, EventArgs e)
{
Form2 F2 = new Form2();
F2.ShowDialog();
}
정말 잘 몰라서 그러는대 새창 띄울떄 위에처럼 해서 띄웠거든요

레퍼런스를 넘겨주려면 어떻게 해야 하나요?

사용자
fdgh2q            [2011-03-24]
Level 15
 [EXP.32/40]
간략하게 코드 적어볼게요 방법은 여러가지이나.. 레퍼런스를 넘기는방법은
좋은 방법은 아니지만요~ 클래스간에 종속관계를 따져봤을때요

======================================
private void 수정_Click(object sender, EventArgs e)
{
Form2 F2= new Form2(this);
F2.ShowDialog();
}
사용자
fdgh2q            [2011-03-24]
Level 15
 [EXP.32/40]
====== Form2 =========
Private ListView listview; //수정폼을 띄운 폼 이름이 ListView 맞나요??

//생성자
public Form2(ListView listview)
{
this.listview = listview;
}

그 다음부터는 listview. <--요걸로 접근해서 부모폼의 리스트뷰를 수정하면 되겠습니다
사용자
달나라            [2011-03-24]
Level 12
 [EXP.5/40]
감사합니다. 열심히 해볼께요
사용자
fdgh2q            [2011-03-24]
Level 15
 [EXP.32/40]
레퍼런스 넘기는걸로 되시면 델리게이트를 이용해보시고
그것도 쉽게 되시면 인터페이스로 해보세요~
사용자
달나라            [2011-03-24]
Level 12
 [EXP.5/40]
Form2 F2= new Form2(this);
F2.ShowDialog();

this에서 애러가 ㅜㅜ 뭔가 이름이 잘못된거같은대 말이죵..

메서드에 잘못된 인수가 있대요..

뭔가 이해는 되는대 구현이 힘드네요..

Form1.cs 에서 Form2.cs 가 Form1.cs를 접근해서 쓸수 있게 넘겨줬는대

form2에서 받을때 형태가 틀린거 같은대.... 후음..
사용자
fdgh2q            [2011-03-24]
Level 15
 [EXP.32/40]
저는 Form1 클래스 이름이 ListView 인지 알았네요.ㅋ
Form2 에서 코드를 이렇게 수정하세요

Private Form1 frm_1;

public Form2(Form1 frm_1)
{
this.frm_1 = frm_1;
}

frm_1 에 점찍어서 접근하시면 되겠습니다,.
listview 는 속성에서 public로 바까주시구요
사용자
Neo            [2011-03-24]
Level 41
 [EXP.73/100]
생성자 잘못 만드신게 맞는거 같네요 그럴 경우 그냥 바꾸려는 데이터만 this 키워드 이용해서 form2로 넘기고

그 다음 그 this를 통해받은 부모 객체로 데이터 넘겨 준 후 리스트에 접근해서 데이터 바꾸시면 됩니다.
사용자
달나라            [2011-03-24]
Level 12
 [EXP.5/40]
'1' 인수: 'ListViewTest.Form1'에서 'System.Windows.Forms.ListView'(으)로 변환할 수 없습니다.

이렇게 뜨네요

Form2를 띄운 폼이 어떤거 인지 지식이 짧아서 질문을 이해가 잘 안됨 ㅜㅜ

스샷에 Form2띄운 폼 이름이 Form2입니다.
사용자
fdgh2q            [2011-03-24]
Level 15
 [EXP.32/40]
Form1 이 부모폼이 되고 Form2가 자식폼이 되겠죠~
Form1에서는 자식폼을 띄울때
Form2 F2 = new Form2(this)
F2.ShowDialog(); 하시고
Form2에서는 바로 위에 위에 댓글 대로 하심되요~
사용자
달나라            [2011-03-24]
Level 12
 [EXP.5/40]
아!

접근에 성공했습니다.

이제 이걸 잘 굴려서 수정에 성공 해봐야겠습니다.

감사합니다.
사용자
달나라            [2011-03-24]
Level 12
 [EXP.5/40]
창띄웠을때 채크했던게 적혀있게 하려면

삭제할때 채크된거 찾을때 처럼

채크한거 찾아서 TextBox에서 넣어주면 되겠죠?
사용자
fdgh2q            [2011-03-24]
Level 15
 [EXP.32/40]
일괄수정을 하실건가요?^^; 아니면 1개만 수정하실건가요??
체크가 여러개 되어있는 상태에서 체크한거 찾아서 텍스트박스에 넣으면..
텍스트박스에는 맨 마지막에 체크된게 들어가지 않을가요??
사용자
달나라            [2011-03-24]
Level 12
 [EXP.5/40]
1개씩만 수정해야겠죠 ㅋ
textBox1.Text = F1.listView.Items[i].Text;
textBox2.Text = F1.listView.Items[i].SubItems[1].Text;
textBox3.Text = F1.listView.Items[i].SubItems[2].Text;

For문에 이렇게 넣고돌렸는대 애러는 안뜨는대 프로그램이 멈춰 버리는대요..
사용자
달나라            [2011-03-24]
Level 12
 [EXP.5/40]
뭔가 문제가 있어서 멈춘거겠죠? ㅋ

for (int i = 0; i < listView.Items.Count; i++)
{
if (listView.Items[i].Checked == true)
{
i--;
}
} For문은 아까 님께서 해주신 그 상태
사용자
달나라            [2011-03-24]
Level 12
 [EXP.5/40]
해결됬네요
i--;
때문에 계속 넣고있는 그런상태였나보네요
사용자
fdgh2q            [2011-03-24]
Level 15
 [EXP.32/40]
아 잠깐 딴짓하느라 못봤는데 다행이네요 -_-;;;
태그로 엮인글
[WPF Q&A] listview와 textbox 바인딩 질문입니다 [1]+4  유란향
[C#.NET Q&A] 외부컨트롤 사용시 ListView의 BeginUpdate, EndUpdate기능 사용하려면 어떻게 해야 하죠?  kkpp7
[C#.NET Q&A] listview에 대해서 질문이 있습니다.[1]  이쿠
[ASP.NET Q&A] checkbox name 설정[1]+1  허거덩
[C#.NET Q&A] 리스트뷰에서 여러 개의 아이템을 선택하고 드래그를 해서 탐색기로 드랍했을 때  쎄미
[ASP.NET Q&A] datagrid listview repeter차이가 뭔가요?[1]  케이백
[C#.NET Q&A] c# mysql에서 데이터 불러와 listview에 입력시키는 부분 질문드립니다. [1]  쿠로
[WPF Q&A] listviewitem 질문이 있습니다.[1]  귀엽싸리
[C#.NET Q&A] DataGridView 안에 있는 체크박스 컴포넌트에 관하여......[1]+2  상남자
[ASP.NET Q&A] Listview를 사용하려는데요.. 잘안되네요.[4]+5  다비드
글리스트
PEN 을 이용해서 화살표 선을 그리는데요.. 굵기 조절에 대해서 문의 합니다..[3]+1  듀공
크리스탈 리포트의 필드의 위치를 특정 값을 비교 하여 위치 조절이 가능 한지요?[1]  smile
현재 datagridview에 나타난 값을 미리생성해놓은 dataset(의 테이블)에 저장하는 방법좀 가르쳐주세요.[1]+1  흑장미소년
[RE] 현재 datagridview에 나타난 값을 미리생성해놓은 dataset(의 테이블)에 저장하는 방법좀 가...[1]  초코파이
C# 과 sql 연동해서 어떤 프로젝트를 분석하는데 해석을 하기가 쉽지 않습니다.[2]  닷네아담
Visual Studio 2008과 Visual Studio 2010를 같이 설치[3]  은빛늑대
선 그리기로 선을 그렸는데.. 그선에 이벤트를 발생 할려고 합니다.. [2]+2  듀공
파일을 다른 폴더로 복사하고 싶습니다....![2]+2  l쑥차
반복문에 의한 컨트롤 생성 시 질문.[1]+1  knoxxr
listbox 안에 내용을 넣는데 글이 너무 길어서 잘리네요[1]+1  phd203
 ★현재글->   C# listView 에서 목록 수정 하고싶어요..[11]+8  달나라
폼 위에 그리기 질문입니다~ㅠㅠ[3]+9  대갈장군
[RE] 폼 위에 그리기 질문입니다~ㅠㅠ[1]  퇴근5분전
구문이해가 안가네요 도와주세용 .ㅜ[3]  멋진신재
C# 코드를 축소하거나 늘리는 기능 인데 자세히 알려주세요.[3]+1  닷네아담
[급] 파일 읽어오기 문제[1]+1 파일첨부 xarfox
외부 연동 문제입니다.  손뎅
C# 3.0 람다표현식 질문드리겠습니다 ㅜㅜ[2]+5  fdgh2q
파일 인코딩 속성 알 수 있을까요?[2]  초고수
소켓 서버 관련 조언을 구합니다.[4]+2  스티분
데이타그리드뷰 질문입니다.[1]+1  메이로니