2013-05-18 5 views
0

며칠 전부터 페이징으로 DataGridview를 코딩하기 시작했습니다. 페이징 그 자체가 잘 작동합니다. 하지만 지금은 문제가 발생했습니다. 사용자 정의 컨트롤에서 사용할 수없는 속성이 필요합니다.DataGridview usercontrol에서 속성을 사용할 수있게 만들기 C#

내 selfmade UserControl을 사용할 수 있도록하기 위해 나는 .dll 파일 (UserControl을)로 내보낼 때 사용할 수 있도록 다음과 같은 속성이 필요합니다

  • 열 속성 (datagridview.Columns)
  • CurrentRow.Index 속성 (datagridview.CurrentRow.Index)
  • Rows.Count 속성 (datagridview.Rows.Count)는
  • 가 Rows.Cells.Value가
  • (datagridview.Rows는 [카운터] .Cells [cellcounter] .value)
  • Column.width 속성 (datagridview.Column.Width)

아무에게도이 작업을 수행하는 데 도움이 될 수 있습니까? 나는 이것이 어떻게 될지 전혀 모른다.

내가있어 하나 개의 속성 나는 또한 필요하다고, 그래서 이것은 예 :

public void SetColumns(string columnName) 
{ 
    dataGridView.Columns[columnName].Visible = false; 
} 

이 짧은 만들기 위해 일할 수있는 것 같아요 작업 : 내 다른 프로젝트에서 이러한 속성을 사용할 얻을 수있는 방법 그것을 datagridview에서 코딩함으로써? 그것은 사용자 정의 컨트롤이 될 것입니다.

는 Yenthe

답변

0

것 정확히 당신이 필요에 따라 대답, 감사합니다.
첫 번째 시나리오는 DataGridView 자체를 사용자에게 노출시키는 것입니다. 귀하의 UserControl에서 :

private DataGridView _dataGridView1; 

//Lets use a readonly property for this one 
//Be careful, readonly property doesn't mean you can't modify the values inside! 
public DataGridView UserControlDataGridView 
{ 
    get 
    { 
     return _dataGridView1; 
    } 
} 

그런 다음 다른 프로젝트의 DataGridView를 제어 할 수 있습니다.

DataGridView를 사용자에게 노출시키지 않으려면 원하는 각 항목에 대한 속성을 만들어야합니다.

희망이 도움이됩니다.

+0

"그러면 다른 프로젝트에서 DataGridView를 제어 할 수 있습니다." 그러면 다른 프로젝트에서 dll 파일을 사용할 때 필요한 모든 속성을 갖게됩니까? 예를 들어 .column.width 속성과 같은? – Yenthe

+0

^알았어. 그래서 그게 협상이 아니라는 걸 알았어. 그러나 다른 프로젝트에서 열의 너비 또는 다른 것을 변경할 수 있기를 원한다는 것을 예를 들면 어떻게 말할 수 있습니까? : s – Yenthe

+0

당신의 질문은 지금 나에게 불명확하다. 당신은 dll과 프로젝트의 정확한 코드를 사용하여 더 많은 코드를 게시 할 수 있습니까? –

관련 문제