'ultragrid'에 해당하는 글 1건

개발을 할때 그리드를 컨트롤 한다는 것은 아주 기본적이면서도 각각의 그리드의 특성이 있기 때문에

각 그리드의 컨트롤을 한다는 것이 얼마나 번거롭고 귀찮은 것인지 겪은 사람은 다 알것이라고 생각된다.

 

나도 마찬가지로 현재까지 주로 많이 썼던것이 ms 기본 컨트롤인 datagridview를 비롯하여 farpoint의 spread(Sheet이긴 하지만), ultragrid등을

써 보았는데 개인적으로는 개발세팅에 많은 불편함이 있는 상용컨트롤의 사용을 많이 자제 할려고 노력하고 있다.

 

이번 프로젝트 하면서 처음으로 ultragrid를 사용해 보았는데 이 놈 또한 여간 성가신게 아니다.

직접 그리드를 컨트롤 해서 하니 속도문제 그리고 부하문제도 많이 발생 하는것 같고... 아직 불안불안 하게 사용하고 있다만서도

ultragrid는 dataset를 직접 핸들링 하면서 값을 가감 하면 속도가 엄청 빨라진다.

 

체크박스는 콤보박스는 아직 못해봤는데 여전히 숙제로 남아 있다.

 

dataset 핸들링 하는데 많은 경험이 없어 시험 삼아 해본 샘플 프로그램이다.

 

 

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. namespace WindowsFormsApplication4
  10. {
  11. public partial class Form1 : Form
  12. {
  13. private DataSet m_dsMain = null;
  14. private int iIDX = 0;
  15. public Form1()
  16. {
  17. InitializeComponent();
  18. }
  19. private void Form1_Load(object sender, EventArgs e)
  20. {
  21. // Main DataSet 설정
  22. m_dsMain = new DataSet();
  23. this.ultraGrid1.DataSource = m_dsMain;
  24. m_dsMain.Tables.Add("Main");
  25. m_dsMain.Tables["Main"].Columns.Add("SEQ");
  26. m_dsMain.Tables["Main"].Columns.Add("DATE");
  27. }
  28. private void button1_Click(object sender, EventArgs e)
  29. {
  30. DataRow dr = m_dsMain.Tables["Main"].NewRow();
  31. dr["SEQ"] = Convert.ToString(m_dsMain.Tables["Main"].Rows.Count + 1);
  32. dr["DATE"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  33. m_dsMain.Tables["Main"].Rows.Add(dr);
  34. }
  35. private void button2_Click(object sender, EventArgs e)
  36. {
  37. if (ultraGrid1.ActiveRow == null)
  38. {
  39. return;
  40. }
  41. m_dsMain.Tables["Main"].Rows.RemoveAt(ultraGrid1.ActiveRow.Index);
  42. for (int i = 0; i < m_dsMain.Tables["Main"].Rows.Count; i++)
  43. {
  44. m_dsMain.Tables["Main"].Rows[i]["SEQ"] = i + 1;
  45. }
  46. }
  47. private void button3_Click(object sender, EventArgs e)
  48. {
  49. m_dsMain.Clear();
  50. }
  51. }
  52. }

 


WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,