Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Đưa hình ảnh vào DataGridView như thế nào?

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    19

    Question Đưa hình ảnh vào DataGridView như thế nào?

    Mình hiện đang dùng winform - Các bạn nào có thể giúp mình đưa hình ảnh và checkbox vào DataGridView được ko ?
    Trong csdl của mình có table NhanVien có 4 trường (manv varchar(10),tennv nvarchar(50),hinhanh image,hieuluc bit)
    Mình có 2 class : clsNhanVien, clsImage,

    Lớp clsImage

    Visual C# Code:
    1. class clsIMAGE
    2.     {
    3.         private string path;
    4.         private byte[] file;
    5.         public clsIMAGE() { }
    6.         public clsIMAGE(string p)
    7.         {
    8.             if (p != "") path = p;
    9.             else path = "C:\\WINDOWS\\system32\\oobe\\images\\greenshd.GIF";            
    10.             FileStream f = new FileStream(path, FileMode.Open);
    11.             byte[] buff = new byte[f.Length];
    12.             f.Read(buff, 0, (int)f.Length);
    13.             file = buff;
    14.             f.Dispose();
    15.         }
    16.         public clsIMAGE(byte[] b)
    17.         {
    18.             file = b;
    19.         }
    20.         public byte[] getByte()
    21.         {
    22.             return file;
    23.         }
    24.         public MemoryStream getMemory()
    25.         {
    26.             if (file == null)
    27.             {
    28.                 clsIMAGE i = new clsIMAGE("C:\\WINDOWS\\system32\\oobe\\images\\redshd.GIF");
    29.                 file = i.getByte();
    30.             }            
    31.             MemoryStream mt = new MemoryStream();
    32.             mt.Write(file,0,file.Length);
    33.             return mt;
    34.         }
    35.         public Image getImage()
    36.         {
    37.             return Image.FromStream(getMemory());
    38.         }
    39.     }

    Lớp clsNhanVien
    Visual C# Code:
    1. class clsNhanVien
    2.     {
    3.         private string manhanvien;
    4.         private string tennhanvien;
    5.         private byte[] hinhanh;  
    6.         private bit hieuluc;
    7.         public class clsNhanVien(){}
    8.         public string getTennhanvien(){return tennhanvien;}
    9.         public bool getHieuluc(){return hieuluc;}
    10.         public mage getImage()
    11.         {
    12.             clsIMAGE i = new clsIMAGE(hinhanh);
    13.             return i.getImage();
    14.         }
    15.          public static clsNhanvien [] getMangNV(){//Lấy ra tất cả các nhân viên có trong csdl và đưa vào mảng clsNhanVien}
    16.     }
    Bây giờ mình tạo 1 form có 1 cái DataGridview
    trong DataGridview mình add 3 column :
    ----Tennv(kiểu DataGridViewTextboxColumn)
    ----Picture(kiểu DataGridViewImageColumn)
    ----Active(kiểu DataGridViewCheckboxColumn)

    Trong giao diện mình clsNhanVien.getMangNV()

    Vậy làm thế nào để đưa các thông tin của foreach(clsNhanVien nv in clsNhanVien.getMangNV()) để đưa vào DataGridview thông qua các hành vi getHieuluc, getTennhanvien() và getImage()



    Đưa dữ liệu kiểu chuỗi thì mình làm đc
    Còn kiểu hình ảnh và bool đó thì mình chịu
    Mong các bạn giúp đỡ
    Mình đang viết đồ án
    Còn cái này nữa là xong rồi
    Nếu có gì sai mong các bạn góp ý
    Cảm ơn các bạn
    Đã được chỉnh sửa lần cuối bởi Forlorn_hope : 01-04-2009 lúc 11:23 AM.

  2. #2
    Ngày gia nhập
    01 2008
    Bài viết
    120

    Bạn tham khảo cái nè nhé
    Visual C# Code:
    1. using System.IO;
    2. using System.Windows.Forms;
    3. using System.Drawing;
    4. using System;
    5.  
    6. public class TicTacToe : System.Windows.Forms.Form
    7. {
    8.     public TicTacToe()
    9.     {
    10.         blank = new Bitmap(new MemoryStream(blankImage));
    11.         x = new Bitmap(new MemoryStream(xImage));
    12.         o = new Bitmap(new MemoryStream(oImage));
    13.  
    14.         this.AutoSize = true;
    15.         SetupButtons();
    16.         InitializeDataGridView(null, null);
    17.     }
    18.  
    19.     private DataGridView dataGridView1;
    20.     private Button Button1 = new Button();
    21.     private Label turn = new Label();
    22.     private Button Button2 = new Button();
    23.     private Button Button3 = new Button();
    24.     private Button Button4 = new Button();
    25.     private Button Button5 = new Button();
    26.     private FlowLayoutPanel Panel1 = new FlowLayoutPanel();
    27.  
    28.     #region "bitmaps"
    29.     private byte[] oImage = new byte[] {
    30.         0x42, 0x4D, 0xC6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x76,
    31.         0x0, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0xB, 0x0, 0x0, 0x0, 0xA,
    32.         0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50,
    33.         0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10,
    34.         0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    35.         0x0, 0x80, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80, 0x80, 0x0,
    36.         0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x80, 0x0,
    37.         0x0, 0xC0, 0xC0, 0xC0, 0x0, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0,
    38.         0xFF, 0x0, 0x0, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xFF,
    39.         0x0, 0x0, 0x0, 0xFF, 0x0, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0x0,
    40.         0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0xF, 0xFF, 0xF0,
    41.         0x0, 0x0, 0xFF, 0x0, 0xFF, 0xF0, 0xF, 0xF0, 0x0, 0x0, 0xF0,
    42.         0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x0, 0x0, 0xF0, 0xFF, 0xFF,
    43.         0xFF, 0xF0, 0xF0, 0x0, 0x0, 0xF, 0xFF, 0xFF, 0xFF, 0xFF,
    44.         0x0, 0x0, 0x0, 0xF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0,
    45.         0xF0, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x0, 0x0, 0xF0, 0xFF,
    46.         0xFF, 0xFF, 0xF0, 0xF0, 0x0, 0x0, 0xFF, 0x0, 0xFF, 0xF0,
    47.         0xF, 0xF0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xF, 0xFF, 0xF0, 0x0,
    48.         0x0};
    49.  
    50.     private byte[] xImage = new byte[]{
    51.         0x42, 0x4D, 0xC6, 0x0, 0x0, 0x0, 0x0,
    52.         0x0, 0x0, 0x0, 0x76, 0x0, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0,
    53.         0xB, 0x0, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0,
    54.         0x0, 0x0, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    55.         0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0,
    56.         0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x80,
    57.         0x0, 0x0, 0x0, 0x80, 0x80, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80,
    58.         0x0, 0x80, 0x0, 0x80, 0x80, 0x0, 0x0, 0xC0, 0xC0, 0xC0, 0x0,
    59.         0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0xFF, 0x0, 0x0, 0xFF, 0x0,
    60.         0x0, 0x0, 0xFF, 0xFF, 0x0, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0x0,
    61.         0xFF, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0,
    62.         0xF0, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x0, 0x0, 0xFF, 0xF,
    63.         0xFF, 0xFF, 0xF, 0xF0, 0x0, 0x0, 0xFF, 0xF0, 0xFF, 0xF0,
    64.         0xFF, 0xF0, 0x0, 0x0, 0xFF, 0xFF, 0xF, 0xF, 0xFF, 0xF0, 0x0,
    65.         0x0, 0xFF, 0xFF, 0xF, 0xF, 0xFF, 0xF0, 0x0, 0x0, 0xFF, 0xFF,
    66.         0xF, 0xF, 0xFF, 0xF0, 0x0, 0x0, 0xFF, 0xF0, 0xFF, 0xF0,
    67.         0xFF, 0xF0, 0x0, 0x0, 0xFF, 0xF, 0xFF, 0xFF, 0xF, 0xF0, 0x0,
    68.         0x0, 0xF0, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x0, 0x0, 0xFF,
    69.         0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0, 0x0};
    70.  
    71.     private byte[] blankImage = new byte[] {
    72.         0x42, 0x4D, 0xC6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x76,
    73.         0x0, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0xB, 0x0, 0x0, 0x0, 0xA,
    74.         0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50,
    75.         0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10,
    76.         0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    77.         0x0, 0x80, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80, 0x80, 0x0,
    78.         0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x80, 0x0,
    79.         0x0, 0xC0, 0xC0, 0xC0, 0x0, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0,
    80.         0xFF, 0x0, 0x0, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xFF,
    81.         0x0, 0x0, 0x0, 0xFF, 0x0, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0x0,
    82.         0xFF, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
    83.         0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0, 0x0,
    84.         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0, 0x0, 0xFF, 0xFF,
    85.         0xFF, 0xFF, 0xFF, 0xF0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF,
    86.         0xFF, 0xF0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
    87.         0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0, 0x0,
    88.         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0, 0x0, 0xFF, 0xFF,
    89.         0xFF, 0xFF, 0xFF, 0xF0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF,
    90.         0xFF, 0xF0, 0x0, 0x0};
    91.     #endregion
    92.  
    93.     private Bitmap blank;
    94.     private Bitmap x;
    95.     private Bitmap o;
    96.     private string xString = "X's turn";
    97.     private string oString = "O's turn";
    98.     private string gameOverString = "Game Over";
    99.     private int bitmapPadding = 6;
    100.  
    101.     private void InitializeDataGridView(object sender,
    102.         EventArgs e)
    103.     {
    104.         this.Panel1.SuspendLayout();
    105.         this.SuspendLayout();
    106.  
    107.         ConfigureForm();
    108.         SizeGrid();
    109.         CreateColumns();
    110.         CreateRows();
    111.  
    112.         this.Panel1.ResumeLayout(false);
    113.         this.ResumeLayout(false);
    114.     }
    115.  
    116.     private void ConfigureForm()
    117.     {
    118.         AutoSize = true;
    119.         turn.Size = new System.Drawing.Size(75, 34);
    120.         turn.TextAlign = ContentAlignment.MiddleLeft;
    121.         turn.Text = xString;
    122.  
    123.         Panel1.Location = new System.Drawing.Point(0, 8);
    124.         Panel1.Size = new System.Drawing.Size(120, 196);
    125.         Panel1.FlowDirection = FlowDirection.TopDown;
    126.  
    127.         ClientSize = new System.Drawing.Size(355, 200);
    128.         Controls.Add(this.Panel1);
    129.         Text = "TicTacToe";
    130.  
    131.         dataGridView1 = new System.Windows.Forms.DataGridView();
    132.         dataGridView1.Location = new Point(120, 0);
    133.         dataGridView1.AllowUserToAddRows = false;
    134.         dataGridView1.CellClick += new
    135.             DataGridViewCellEventHandler(dataGridView1_CellClick);
    136.         dataGridView1.CellMouseEnter += new
    137.             DataGridViewCellEventHandler(dataGridView1_CellMouseEnter);
    138.         dataGridView1.CellMouseLeave += new
    139.             DataGridViewCellEventHandler(dataGridView1_CellMouseLeave);
    140.  
    141.         Controls.Add(dataGridView1);
    142.     }
    143.  
    144.     private void SetupButtons()
    145.     {
    146.         Button1.AutoSize = true;
    147.         SetupButton(Button1, "Restart", new EventHandler(Reset));
    148.         Panel1.Controls.Add(turn);
    149.         SetupButton(Button2, "Increase Cell Size", new EventHandler(MakeCellsLarger));
    150.         SetupButton(Button3, "Stretch Images", new EventHandler(Stretch));
    151.         SetupButton(Button4, "Zoom Images", new EventHandler(ZoomToImage));
    152.         SetupButton(Button5, "Normal Images", new EventHandler(NormalImage));
    153.     }
    154.  
    155.     private void SetupButton(Button button, string buttonLabel, EventHandler handler)
    156.     {
    157.         Panel1.Controls.Add(button);
    158.         button.Text = buttonLabel;
    159.         button.AutoSize = true;
    160.         button.Click += handler;
    161.     }
    162.  
    163.     private void CreateColumns()
    164.     {
    165.         DataGridViewImageColumn imageColumn;
    166.         int columnCount = 0;
    167.         do
    168.         {
    169.             Bitmap unMarked = blank;
    170.             imageColumn = new DataGridViewImageColumn();
    171.  
    172.             //Add twice the padding for the left and
    173.             //right sides of the cell.
    174.             imageColumn.Width = x.Width + 2 * bitmapPadding + 1;
    175.  
    176.             imageColumn.Image = unMarked;
    177.             dataGridView1.Columns.Add(imageColumn);
    178.             columnCount = columnCount + 1;
    179.         }
    180.         while (columnCount < 3);
    181.     }
    182.  
    183.     private void CreateRows()
    184.     {
    185.         dataGridView1.Rows.Add();
    186.         dataGridView1.Rows.Add();
    187.         dataGridView1.Rows.Add();
    188.     }
    189.  
    190.     private void SizeGrid()
    191.     {
    192.         dataGridView1.ColumnHeadersVisible = false;
    193.         dataGridView1.RowHeadersVisible = false;
    194.         dataGridView1.AllowUserToResizeColumns = false; ;
    195.         dataGridView1.AllowUserToResizeRows = false;
    196.         dataGridView1.BorderStyle = BorderStyle.None;
    197.  
    198.         //Add twice the padding for the top of the cell
    199.         //and the bottom.
    200.         dataGridView1.RowTemplate.Height = x.Height +
    201.             2 * bitmapPadding + 1;
    202.  
    203.         dataGridView1.AutoSize = true;
    204.     }
    205.  
    206.     private void Reset(object sender, System.EventArgs e)
    207.     {
    208.         dataGridView1.Dispose();
    209.         InitializeDataGridView(null, null);
    210.     }
    211.  
    212.     private void dataGridView1_CellClick(object sender,
    213.         DataGridViewCellEventArgs e)
    214.     {
    215.  
    216.         if (turn.Text.Equals(gameOverString)) { return; }
    217.  
    218.         DataGridViewImageCell cell = (DataGridViewImageCell)
    219.             dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
    220.  
    221.         if (cell.Value == blank)
    222.         {
    223.             if (IsOsTurn())
    224.             {
    225.                 cell.Value = o;
    226.             }
    227.             else
    228.             {
    229.                 cell.Value = x;
    230.             }
    231.             ToggleTurn();
    232.         }
    233.         if (IsAWin())
    234.         {
    235.             turn.Text = gameOverString;
    236.         }
    237.     }
    238.  
    239.     private void dataGridView1_CellMouseEnter(object sender,
    240.         DataGridViewCellEventArgs e)
    241.     {
    242.         Bitmap markingUnderMouse = (Bitmap)dataGridView1.
    243.                Rows[e.RowIndex].
    244.                Cells[e.ColumnIndex].Value;
    245.  
    246.         if (markingUnderMouse == blank)
    247.         {
    248.             dataGridView1.Cursor = Cursors.Default;
    249.         }
    250.         else if (markingUnderMouse == o || markingUnderMouse == x)
    251.         {
    252.             dataGridView1.Cursor = Cursors.No;
    253.             ToolTip(e, true);
    254.         }
    255.     }
    256.  
    257.     private void ToolTip(DataGridViewCellEventArgs e, bool showTip)
    258.     {
    259.         DataGridViewImageCell cell = (DataGridViewImageCell)
    260.             dataGridView1
    261.             .Rows[e.RowIndex].Cells[e.ColumnIndex];
    262.         DataGridViewImageColumn imageColumn =
    263.             (DataGridViewImageColumn)
    264.             dataGridView1.Columns[cell.ColumnIndex];
    265.  
    266.         if (showTip) cell.ToolTipText = imageColumn.Description;
    267.         else { cell.ToolTipText = String.Empty; }
    268.     }
    269.  
    270.     private void dataGridView1_CellMouseLeave(object sender,
    271.         DataGridViewCellEventArgs e)
    272.     {
    273.         ToolTip(e, false);
    274.         dataGridView1.Cursor = Cursors.Default;
    275.     }
    276.  
    277.     private void Stretch(object sender, EventArgs e)
    278.     {
    279.         foreach (DataGridViewImageColumn column in
    280.             dataGridView1.Columns)
    281.         {
    282.             column.ImageLayout = DataGridViewImageCellLayout.Stretch;
    283.             column.Description = "Stretched";
    284.         }
    285.     }
    286.  
    287.     private void ZoomToImage(object sender, EventArgs e)
    288.     {
    289.  
    290.         foreach (DataGridViewImageColumn column in
    291.             dataGridView1.Columns)
    292.         {
    293.             column.ImageLayout = DataGridViewImageCellLayout.Zoom;
    294.             column.Description = "Zoomed";
    295.         }
    296.     }
    297.  
    298.     private void NormalImage(object sender, EventArgs e)
    299.     {
    300.  
    301.         foreach (DataGridViewImageColumn column in
    302.             dataGridView1.Columns)
    303.         {
    304.             column.ImageLayout = DataGridViewImageCellLayout.Normal;
    305.             column.Description = "Normal";
    306.         }
    307.     }
    308.  
    309.     private void MakeCellsLarger(object sender, EventArgs e)
    310.     {
    311.         foreach (DataGridViewImageColumn column in
    312.             dataGridView1.Columns)
    313.         {
    314.             column.Width = column.Width * 2;
    315.         }
    316.         foreach (DataGridViewRow row in dataGridView1.Rows)
    317.         {
    318.             if (row.IsNewRow) break;
    319.             row.Height = (int)(row.Height * 1.5);
    320.         }
    321.     }
    322.  
    323.     private bool IsAWin()
    324.     {
    325.         if (ARowIsSame() || AColumnIsSame() || ADiagonalIsSame())
    326.             return true;
    327.         else return false;
    328.     }
    329.  
    330.     private bool ARowIsSame()
    331.     {
    332.         Bitmap marking = null;
    333.  
    334.         foreach (DataGridViewRow row in dataGridView1.Rows)
    335.         {
    336.             if (row.IsNewRow) break;
    337.             marking = (Bitmap)row.Cells[0].Value;
    338.             if (marking != blank)
    339.             {
    340.                 if (marking == row.Cells[1].Value &&
    341.                     marking == row.Cells[2].Value) return true;
    342.             }
    343.         }
    344.         return false;
    345.     }
    346.  
    347.     private bool AColumnIsSame()
    348.     {
    349.         int columnIndex = 0;
    350.         Bitmap marking;
    351.         do
    352.         {
    353.             marking = (Bitmap)
    354.                 dataGridView1.Rows[0].Cells[columnIndex].Value;
    355.             if (marking != blank)
    356.             {
    357.                 if (marking == (Bitmap)dataGridView1.Rows[1]
    358.                     .Cells[columnIndex].Value
    359.                     && marking == (Bitmap)dataGridView1.Rows[2].
    360.                     Cells[columnIndex].Value) return true;
    361.             }
    362.             columnIndex = columnIndex + 1;
    363.         }
    364.         while (columnIndex < dataGridView1.Columns.GetColumnCount(
    365.             DataGridViewElementStates.Visible));
    366.         return false;
    367.     }
    368.  
    369.     private bool ADiagonalIsSame()
    370.     {
    371.         if (LeftToRightDiagonalIsSame()) { return true; }
    372.         if (RightToLeftDiagonalIsSame()) { return true; }
    373.         return false;
    374.     }
    375.  
    376.     private bool LeftToRightDiagonalIsSame()
    377.     {
    378.         return IsDiagonalSame(0, 2);
    379.     }
    380.  
    381.     private bool RightToLeftDiagonalIsSame()
    382.     {
    383.         return IsDiagonalSame(2, 0);
    384.     }
    385.  
    386.     private bool IsDiagonalSame(int startingColumn, int lastColumn)
    387.     {
    388.         Bitmap marking = (Bitmap)dataGridView1.Rows[0]
    389.             .Cells[startingColumn].Value;
    390.  
    391.         if (marking == blank) return false;
    392.         if (marking == dataGridView1.Rows[1].Cells[1]
    393.             .Value && marking == dataGridView1.Rows[2]
    394.             .Cells[lastColumn].Value) return true;
    395.  
    396.         return false;
    397.     }
    398.  
    399.     private void ToggleTurn()
    400.     {
    401.         if (turn.Text.Equals(xString)) { turn.Text = oString; }
    402.         else { turn.Text = xString; }
    403.     }
    404.  
    405.     private bool IsOsTurn()
    406.     {
    407.         if (turn.Text.Equals(oString)) return true;
    408.         return false;
    409.     }
    410.  
    411.    
    412.  
    413. }
    Đã mất công nghĩ thì nghĩ mẹ cái thật lớn vào !
    Y!H: trinhhoaithanh1905

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    19

    Cảm ơn bạn đã hồi âm
    Mình đang thử

Các đề tài tương tự

  1. Thắc mắc cách làm datagridview nâng cao
    Gửi bởi greenqn trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 05-05-2012, 05:19 PM
  2. ADO.NET Refresh lại DataGridview khi thao tác trên 1 form khác như thế nào?
    Gửi bởi leminh_005 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 13
    Bài viết cuối: 26-08-2011, 01:15 PM
  3. Cách Lấy tạo độ trong DataGridView như thế nào?
    Gửi bởi tuananhbfs trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 18-08-2011, 09:07 AM
  4. Database Cách làm co giãn datagridview như thế nào?
    Gửi bởi lion080889 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 14-07-2011, 04:03 PM
  5. Làm thế nào để chỉnh sửa hiển thị DataGridView?
    Gửi bởi thegiaotb trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 27-09-2010, 11:28 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn