• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Các câu hỏi về bộ công cụ Devexpress

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Điều hành viên: tungblt, vuathongtin

DoremonA
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 441
Ngày tham gia: T.Sáu 29/07/2011 1:00 pm
Has thanked: 11 time
Been thanked: 145 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi DoremonA » T.Ba 29/01/2013 12:53 pm

Theo hình ở trên thì bảng Danh sách khách hàng và bảng Báo cáo là 2 bảng độc lập. Nếu đưa chung vào 1 Form như thế Người sử dụng (User) rất dễ rối và code lại cực
Tai sao lại không Show form Danh sách khách hàng riêng để User chọn khách hàng rồi set khách hàng đó vào Form báo cáo. Cái tiện ở đây là vấn đề chỉnh sửa, thêm mới, xóa 1 khách hàng ngoài vấn đề chọn khách hàng để nạp nữa.
Chưa kể 1 chức năng rất cần thiết mà User thường sử dụng đó là tìm kiếm, và điều này Cái Gridcontrol chỉ tìm kiếm ở mức độ đơn giản hơn là mình tự code.
Một đống chức năng đó mà nhét vào cái form báo cáo nữa bạn nghĩ User có rối không :)
Vài điều gửi đến bạn, có gì hem đúng bỏ qua cho nhen :)



anhhieutkf
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 56
Ngày tham gia: T.Bảy 12/01/2013 10:59 am
Has thanked: 5 time
Been thanked: 3 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi anhhieutkf » T.Tư 30/01/2013 10:08 am

Ừ. Mình hiểu ý bạn. Nhưng nếu thế sao mà làm đk from chỉ hiện thị thông tin sinh viên mà mình click vào ở girdcontrol sang form khác mà bạn nói được :) Giúp mình rõ hơn một chút được k?

DoremonA
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 441
Ngày tham gia: T.Sáu 29/07/2011 1:00 pm
Has thanked: 11 time
Been thanked: 145 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi DoremonA » T.Tư 30/01/2013 1:23 pm

Thường thì lập trình CSDL nó đều có nhiều bảng danh sách. Ví dụ 1 trường học có: DSNhanSu,DSLop,DSSinhVien v.v... nên thông thường bạn đều có những control để mở ra các Form chứa danh sách đó ( ví dụ click btnDSsinhvien mở ra Form chứa bảng DSsinhvien ) để User nhìn vào là biết liền, đơn giản vậy thôi.
Ngoài các button ở trên để chuyên nghiệp hơn bạn có thể Sử dụng phím tắt . Ví dụ: khi control MaSV focus nếu User nhấn F1 thì mở form chứa bảng DSsinhvien ( tương đương với btnDSsinhvien.performclick như tôi đã nói ở trên)
Và sau khi thao tác xong và tắt form thì thông tin nào cần chuyển sang FormMain thì chuyển qua thôi. Khi chuyển các thông tin qua thì bạn thường sử dụng (tôi đã trả lời bạn ở đây)
http://caulacbovb.com/forum/viewtopic.php?f=8&t=25839&p=136010#p136010

binkute
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 57
Ngày tham gia: T.Ba 15/01/2013 8:01 pm
Has thanked: 10 time
Been thanked: 3 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi binkute » T.Ba 05/02/2013 10:17 pm

Mọi người cho mình hỏi 2 vấn đề này với:
- Hiển thị thời gian hiện tại: "Hôm nay, thứ 3 ngày 5 tháng 3 năm 2013" dưới thanh status bar
- Hiển thị menu (Xóa, xem chi tiết,....) khi click chuột phải lên 1 dòng ở GirdView
Mình đang dùng devexpress để thiết kế giao diện. Xin cảm ơn!

Hình đại diện của người dùng
bocapit
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 393
Ngày tham gia: T.Năm 02/10/2008 6:34 am
Đến từ: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\
Has thanked: 1 time
Been thanked: 44 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi bocapit » T.Ba 05/02/2013 11:40 pm

1. Thêm một đối tượng label control vào thanh statusbar sau đó gán thuộc tính caption của nó bằng thời gian hiện tại
2. Dùng sự kiện PopupMenuShowing của gridview
  1. this.gridView1.PopupMenuShowing += (a, e) =>
  2.             {
  3.                 GridView view = a as GridView;
  4.                 GridHitInfo hi = view.CalcHitInfo(e.Point);
  5.                 if (!hi.InRowCell)
  6.                     return;
  7.                 popupMenu1.ShowPopup(gGridControl.PointToScreen(e.Point));
  8.             };

binkute
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 57
Ngày tham gia: T.Ba 15/01/2013 8:01 pm
Has thanked: 10 time
Been thanked: 3 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi binkute » T.Tư 06/02/2013 8:06 pm

1. Bạn ơi, mình muốn hiển thị tiếng việt như bên trên thì làm thế nào bạn?
2. Cho mình xin bài hướng dẫn chi tiết hơn được chứ?

Xin cảm ơn!

binhminhdem
Bài viết: 9
Ngày tham gia: T.Tư 26/12/2012 10:43 am
Has thanked: 3 time

Lưu và hiện thị ảnh từ CSDL trong DevExpress ?

Gửi bàigửi bởi binhminhdem » T.Năm 21/02/2013 10:42 pm

Các bạn cho mình hỏi cách lưu và hiện thị ảnh trong DevExpress với?
thanks nhiều nhé ! :)

DoremonA
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 441
Ngày tham gia: T.Sáu 29/07/2011 1:00 pm
Has thanked: 11 time
Been thanked: 145 time

Re: Lưu và hiện thị ảnh từ CSDL trong DevExpress ?

Gửi bàigửi bởi DoremonA » T.Sáu 22/02/2013 11:49 am

1.Không CSDL của bạn chứa ảnh hay đường dẫn đến file ảnh. Code Demo bên dưới bạn add Gridcontrol1 và copy code dưới chạy thử
  1.     Dim dt As DataTable
  2.     Dim rpPic As New DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit
  3.     Dim Path As String = "C:\Users\pc19\Desktop\co Ha A7.JPG"
  4.  Private Sub Load_CSDL_Gridview()
  5.         dt = New DataTable()
  6.         dt.Columns.Add("Id", GetType(Integer))
  7.         dt.Columns.Add("Ten", GetType(String))
  8.         dt.Columns.Add("Lop", GetType(String))
  9.         dt.Columns.Add("Hinh", GetType(Image))
  10.         Dim pic As New Bitmap(Image.FromFile(Path), 20, 20)
  11.  
  12.         dt.Rows.Add(New Object() {1, "aaa", "1a1", pic})
  13.         dt.Rows.Add(New Object() {2, "aab", "1a2", pic})
  14.         dt.Rows.Add(New Object() {5, "aac", "1a3", pic})
  15.         dt.AcceptChanges()
  16.  
  17.         GridControl1.DataSource = dt
  18.         GridView1.Columns("Hinh").ColumnEdit = rpPic
  19.     End Sub
  20.  

2.Sử dụng 2 code chuyển Binary thành Image và ngược lại bên Topic này
http://caulacbovb.com/forum/viewtopic.php?f=8&t=25688

binhminhdem
Bài viết: 9
Ngày tham gia: T.Tư 26/12/2012 10:43 am
Has thanked: 3 time

Re: Lưu và hiện thị ảnh từ CSDL trong DevExpress ?

Gửi bàigửi bởi binhminhdem » T.Hai 25/02/2013 3:00 pm

Thanhk bạn nhiều nhé :)

DoremonA
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 441
Ngày tham gia: T.Sáu 29/07/2011 1:00 pm
Has thanked: 11 time
Been thanked: 145 time

Re: Lưu và hiện thị ảnh từ CSDL trong DevExpress ?

Gửi bàigửi bởi DoremonA » T.Tư 27/02/2013 9:21 am

Có 2 dạng hiển thị hình ảnh vào Grid từ CSDL
1.CSDL lưu đường dẫn
2.CSDL lưu hình ảnh dạng nhị phân (Binary)
=> Bạn lưu vào CSDL kiểu nào ???
Bạn sử dụng Events FocusedRowChanged cho Gridview của Gridcontrol
  1. Private Sub GridView1_FocusedRowChanged(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridView1.FocusedRowChanged
  2.         TextBox1.Text = GridView1.GetFocusedRowCellValue("Id")
  3.         TextBox2.Text = GridView1.GetFocusedRowCellValue("Ten")
  4.         TextBox3.Text = GridView1.GetFocusedRowCellValue("Lop")
  5.         PictureBox1.Image = GridView1.GetFocusedRowCellValue("Hinh") 'Khi CSDL chứa đường dẫn như Code ở đầu Topic
  6.         'PictureBox1.Image = GetHinh(TryCast(GridView1.GetFocusedRowCellValue("Hinh"), Byte())) 'Khi CSDL chứa hình ảnh dạng Binary thì sử dụng 2 Code bên dưới để lấy hình và lưu hình dạng Binary
  7.     End Sub
  8.   Function GetHinh(ByVal _Source As Byte())
  9.         If _Source Is Nothing OrElse _Source Is DBNull.Value Then
  10.             Return Nothing
  11.         Else
  12.             Dim ms As New MemoryStream(_Source)
  13.             Return Image.FromStream(ms)
  14.         End If
  15.     End Function
  16.     Function SaveHinh(ByVal _photo As Image)
  17.         Dim _bm As New Bitmap(_photo, 90, 90)
  18.         Dim ms As New MemoryStream()
  19.         _bm.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
  20.         Return ms.ToArray()
  21.     End Function
  22.  

binhminhdem
Bài viết: 9
Ngày tham gia: T.Tư 26/12/2012 10:43 am
Has thanked: 3 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi binhminhdem » T.Năm 28/02/2013 2:10 pm

Bạn ơi tớ thử làm như bạn nói nhưng có một lỗi 'Đối số truyền vào không hợp lệ',bạn xem giúp tớ với :
//Lưu ảnh vảo cơ sở dữ liệu
Dim hinhAnh As Byte() = SaveHinh(pictureThuoc.Image)
Dim thuocDTO = New ThuocDTO(hinhAnh)
thuocBLL.UpDateInsertData(thuocDTO)
-File ảnh tớ lưu vào CSDL file nào cũng là :0x53797374656D2E427974655B5D ko hiểu tại sao? :D

pictureThuoc.Image = GetHinh(TryCast(GridView1.GetFocusedRowCellValue("hinhAnh"), Byte()))
nói báo lỗi:
Hình ảnh
Sửa lần cuối bởi binhminhdem vào ngày T.Hai 25/03/2013 11:36 am với 1 lần sửa.

DoremonA
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 441
Ngày tham gia: T.Sáu 29/07/2011 1:00 pm
Has thanked: 11 time
Been thanked: 145 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi DoremonA » T.Năm 28/02/2013 5:53 pm

Bạn chỉnh Field Type của cột chứa hình ảnh chưa ? ( CSDL SQL = Image ; Access = OLE Object )
Nếu chỉnh rồi thì post Project lên xem thử

binhminhdem
Bài viết: 9
Ngày tham gia: T.Tư 26/12/2012 10:43 am
Has thanked: 3 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi binhminhdem » T.Sáu 01/03/2013 8:49 am

Bạn DoremonA đây là Project của mình :http://www.mediafire.com/?v8p81jxw0f5dlyy
Đây là các trường trong CSDL :
Bạn xem giúp mình nhé, nó ở phần Nghiệp vụ->Nhập thuốc :)!

Hình ảnh
Hình ảnh

dangnhapnee
Thành viên chính thức
Thành viên chính thức
Bài viết: 33
Ngày tham gia: T.Sáu 01/03/2013 11:32 am
Has thanked: 7 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi dangnhapnee » T.Sáu 01/03/2013 11:37 am

Hình ảnh


anh chị ơi giúp em với.
trong database em sét cái Xem, sửa, xóa, cập nhật kìa dạng Bit
trong gridcontrol em để Edittable bằng True, xem trước thì vẫn tích sửa được các checkbox.

nhưng khi chạy thử form thì nó dí mãi không check hoặc uncheck của checkbox. như hình trên thì em dí mãi nó vẫn để Null như kia chứ không chuyển sang đã check gì cả. Cả cột thuộc tính string kia cũng không sửa được, không đánh thêm chữ được :(

liệu em có phải đánh code nào không vì em chưa đánh code gì vì chưa cần lưu, cần nó chạy được bình thường đã.

Hình đại diện của người dùng
haitu
Guru
Guru
Bài viết: 206
Ngày tham gia: T.Bảy 10/09/2005 2:50 pm
Has thanked: 1 time
Been thanked: 19 time
Liên hệ:

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi haitu » T.Sáu 01/03/2013 1:38 pm

do bạn load datasource vào gridcontrol bị sai, nên sau khi thay nhập liệu vào cell tương ứng click ra ngoài sẽ bị mất dữ liệu. Bạn kiểm tra lại tên các cột và các trường dữ liệu bạn gán vào có đúng với datasource không nhé

dangnhapnee
Thành viên chính thức
Thành viên chính thức
Bài viết: 33
Ngày tham gia: T.Sáu 01/03/2013 11:32 am
Has thanked: 7 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi dangnhapnee » T.Sáu 01/03/2013 2:17 pm

em kiểm tra lại hết rồi, đúng tên cột với database luôn.

trong mục unbound.. gì đấy em cũng thử chọn Bolean rồi cũng không được
mục ColumEdit em chỉnh lại là checkEdit cũng không được luôn

nhưng trong lúc Run Design em review form lên thì vẫn tích chọn được bình thường nhưng nếu chạy thử form thì không thể tích được, cả cột dữ liệu string cũng không sửa hay thêm chữ gì vào

muaphonui_2010
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 475
Ngày tham gia: T.Sáu 26/11/2010 1:15 pm
Đến từ: TP.HCM
Has thanked: 173 time
Been thanked: 27 time
Liên hệ:

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi muaphonui_2010 » T.Sáu 01/03/2013 3:14 pm

nhưng khi chạy thử form thì nó dí mãi không check hoặc uncheck của checkbox. như hình trên thì em dí mãi nó vẫn để Null như kia chứ không chuyển sang đã check gì cả. Cả cột thuộc tính string kia cũng không sửa được, không đánh thêm chữ được :(

Cái này mình suy đoán chắc bạn chọn thuộc tính : Re...only gi đó ( thuộc tính này ko cho sửa, chỉ cho đọc thôi) bạn xem lại thử thuộc tính đó = true hay False

dangnhapnee
Thành viên chính thức
Thành viên chính thức
Bài viết: 33
Ngày tham gia: T.Sáu 01/03/2013 11:32 am
Has thanked: 7 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi dangnhapnee » T.Sáu 01/03/2013 5:18 pm

ReadOnly = false
______
em thử rồi, chỉ load 1 table trong database lên thì edit bình thường
Nhưng cái em muốn là load 1 số cột trong 2 ( hoặc nhiều) table trong database ra thì nó lại không edit được
Như hình ở trên thì column Nhóm ở 1 table khác còn mấy cái column kia ở table khác trong database.

Có cách nào để load nhiều cột ở nhiều table mà vẫn edit được không ạ

123konika
Bài viết: 1
Ngày tham gia: T.Năm 05/05/2011 8:14 am

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi 123konika » T.Hai 04/03/2013 10:21 am

Hì, các bạn giúp mình cái này với. Mình muốn hiển thị lên gridControl 31 cột và đổ dữ liệu vào 31 cột đó như thế nào? Mong được giúp đỡ, mình đã tham khảo trong bài viết này nhưng chưa tìm đc đáp án :D

Mã: Chọn hết

gv.Columns.Clear();
            DataTable dt = Class.LoadData("sp_Ngay");

            string str = dt.Rows[0]["Ngay"].ToString();
            for (int i = 0; i < str.Length; i++)
            {
                DevExpress.XtraGrid.Columns.GridColumn col = new DevExpress.XtraGrid.Columns.GridColumn();
                col.FieldName = i.ToString();
                col.Caption = "Thu " + i.ToString();
                col.Width = 300; // dòng này không chạy được
                gv.Columns.Add(col);
                gv.Columns[i].Visible = true;               
            }
            for (int j = 0; j < str.Length; j++)
            {
                DevExpress.XtraGrid.Views.Grid.GridView view = new DevExpress.XtraGrid.Views.Grid.GridView();
                gvChamCongDiLam.SetRowCellValue(j,gv.Columns[j], j);
            }
               
            gv.AddNewRow();
        }

dangnhapnee
Thành viên chính thức
Thành viên chính thức
Bài viết: 33
Ngày tham gia: T.Sáu 01/03/2013 11:32 am
Has thanked: 7 time

Re: Các câu hỏi về bộ công cụ Devexpress

Gửi bàigửi bởi dangnhapnee » T.Hai 04/03/2013 5:13 pm

dangnhapnee đã viết:ReadOnly = false
______
em thử rồi, chỉ load 1 table trong database lên thì edit bình thường
Nhưng cái em muốn là load 1 số cột trong 2 ( hoặc nhiều) table trong database ra thì nó lại không edit được
Như hình ở trên thì column Nhóm ở 1 table khác còn mấy cái column kia ở table khác trong database.

Có cách nào để load nhiều cột ở nhiều table mà vẫn edit được không ạ



____________ ai giúp em với ạ


Quay về “Visual Basic .NET và C# (VB.NET & C#)”

Đang trực tuyến

Đang xem chuyên mục này: Bing [Bot], Majestic-12 [Bot]3 khách