Mục lục

Để tiện theo dõi, tôi xin giới thiệu danh mục các chủ đề và bài viết quan trọng

Và còn nhiều clip đi sâu về kỹ thuật khác.

Các chủ đề cũ hơn:

LINQ tip #2

Khi thực hiện gắn nối dữ liệu vào DataSource của một DataGridView, đừng gắn nối trực tiếp đối tượng Table vào DataSource kiểu như sau:

MyDbContext db = new MyDbContext(); myGridView.DataSource = db.Products;

Nếu bạn viết như trên, trong trường hợp bạn thêm dữ liệu vào, dữ liệu trong DataGridView sẽ không tự động hiển thị dòng mới, thay vì vậy hãy dùng hàm GetNewBindingList():


myGridView.DataSource = db.Products.GetNewBindingList(); 

 
Để thêm một dòng mới, bạn có thể viết: ((IBindingList)myGridView.DataSource).Add(new MyData()); 
 

Dòng dữ liệu mới này sẽ được hiển thị trên DataGridView mà bạn không cần phải làm thêm bất kỳ thao tác nào.

LINQ tip #1

Để thực hiện một phép kiểm tra kiểu như “SELECT * FROM mytable WHERE col1 IN (1, 2, 3)”, các bạn có thể viết như sau:

int[] departments = {1, 2, 3};
var products = from p in db.Products where departments.Contains(p.dept_no) select p;

Truy vấn Cơ sở dữ liệu (LINQ to SQL phần 3)

Tháng trước tôi bắt đầu viết loạt bài về LINQ to SQL. LINQ to SQL là một bộ khung (framework) có sẵn cho O/RM (object relational mapping) trong .NET 3.5, nó cho phép bạn dễ dàng mô hình hóa các CSDL quan hệ dùng các lớp .NET. Bạn có thể dùng các biểu thức LINQ để truy vấn CSDL, cũng như có thể cập nhật/thêm/xóa dữ liệu từ đó.

Dưới đây là hai bài đầu tiên trong loạt bài LINQ to SQL:

Trong bài viết này, tôi sẽ đi sâu hơn vào cách chúng ta dùng mô hình dữ liệu đã tạo trong phần 2, và cách dùng nó để truy vấn dữ liệu bên trong một dự án ASP.NET.

Continue reading “Truy vấn Cơ sở dữ liệu (LINQ to SQL phần 3)”

Silverlight 3

Theo ScottGu, phiên bản kế tiếp của Silverlight sẽ ra mắt trong năm tới. Trong phiên bản này sẽ có một số cập nhật mới như hỗ trợ các tính năng multimedia cao cấp (bao gồm H.264), các tính năng đồ họa nâng cao (bao gồm đồ họa 3D và sử dụng GPU), cũng như các tính năng tiên tiến trong việc phát triển ứng dụng (thêm các control mới và hỗ trợ data-binding tốt hơn). Nhớ rằng đó chỉ là một vài nâng cấp tiêu biểu – còn một số tính năng khác sẽ được công bố sau.

Năm tới Visual Studio và Visual Web Developer Express cũng sẽ hỗ trợ việc chỉnh sửa và tương tác một cách đầy đủ với Silverlight, và thêm các công cụ cho gắn kết dữ liệu:

Với những ưu điểm này, hi vọng Silverlight sẽ ngày càng mạnh mẽ và phổ biến.

Định nghĩa các lớp mô hình dữ liệu (LINQ to SQL phần 2)

Trong phần một, tôi đã thảo luận về “LINQ to SQL là gì” và cung cấp một cái nhìn cơ bản về những trường hợp chúng ta có thể sử dụng nó.

Trong bài viết đầu tiên, tôi cũng đã cung cấp các đoạn code mẫu để biểu diễn cách xử lý dữ liệu dùng LINQ to SQL, bao gồm:

  • Cách truy vấn dữ liệu
  • Các cập nhật dữ liệu
  • Cách chèn và tạo quan hệ các dòng trong một CSDL
  • Cách xóa các dòng trong một CSDL
  • Cách gọi một thủ tục
  • Cách lấy dữ liệu và phân trang trên server

Continue reading “Định nghĩa các lớp mô hình dữ liệu (LINQ to SQL phần 2)”

Hướng dẫn cách dùng ToolTip

Nếu bạn có một FrameworkElement như Image, Button, TextBlock,… bạn có thể thêm một tooltip vào các đối tượng này. Các tooltip thường là các đoạn văn bản nhỏ và hiện lên mỗi khi người dùng di chuyển chuột lên trên đối tượng đó. Mục đích của tooltip là nói cho người dùng biết đối tượng này dùng để làm gì.

Lấy ví dụ, cho rằng bạn có một toolbar chứa các lá cờ để bạn có thể chọn ngôn ngữ:

image

Nếu một người dùng không nhận ra được một lá cờ nào đó, họ có thể di chuyển chuột lên trên và tooltip sẽ hiện ra để thông báo ngôn ngữ tương ứng:

image

Để thêm một tooltip vào một FrameworkElement, tất cả những gì bạn cần làm là khai báo thuộc tính TooltipService.Tooltip:

<Image Source=”images/france.png” ToolTipService.ToolTip=”French”>

Một tooltip không nhất thiết chỉ chứa văn bản, mà có thể chứa bất kỳ control nào bạn khai báo. Ví dụ, bạn tạo một tooltip bằng một bức ảnh như sau:

<Image Source=”images/france.png” Width=”16″ Height=”16″>
    <ToolTipService.ToolTip>
        <Image Source=”images/france.png”></Image>
    </ToolTipService.ToolTip>
</Image>

Khi di chuyển chuột lên trên lá cờ Pháp, một tooltip sẽ hiện ra với lá cờ Pháp ở kích thước gốc:

image

Theo Mike Snow’s blog

Silverlight 2 chính thức ra mắt

Ngày 13/10/2008, hãng phần mềm Microsoft đã chính thức ra mắt Silverlight 2, một giải pháp mạnh mẽ cho các ứng dụng tương tác đa phương tiện trên nền web. Silverlight 2 cung cấp nhiều tính năng và công cụ mới cho phép các nhà phát triển cũng như các nhà thiết kế có thể cùng làm việc với nhau.

Ngoài ra, hãng phần mềm cũng công bố việc hỗ trợ cộng đồng mã mở bằng việc hỗ trợ tổ chức Eclipse Foundation và cung cấp gói Silverlight Control Pack.  Công ty Soyatec, một công ty IT của Pháp và cũng là một thành viên thuộc Eclipse sẽ nhận tài trợ từ Microsoft để phát triển giải pháp cho phép phát triển các ứng dụng Silverlight bên trong Eclipse IDE.

Gói Silverlight Control Pack sẽ được đưa ra và đặc tả cho Silverlight XAML sẽ được đưa lên trang MSDN (www.msdn.com). Trong gói này chứa một số control như là DockPanel, ViewBox, TreeView, Accordion và AutoComplete, và nó sẽ được phát hành dưới giấy phép Microsoft Permissive License, một giấy phép được chấp nhận bởi tổ chức mã nguồn mở OSI, và Silverlight XAML được phát hành dưới Open Specification Promise. Điều này sẽ cho phép các nhà phát triển tạo ra các sản phẩm có thể đọc hoặc ghi XAML cho Silverlight.

Bên cạnh việc hỗ trợ cho Elcipse IDE, Microsoft cũng phát triển bộ công cụ phát triển SIlverlight với Visual Studio 2008 và Expression Studio 2. Và phiên bản này cũng hỗ trợ cả Visual Web Developer 2008 Express Edition, một phần mềm miễn phí của Microsoft.

Silverlight 2 will be available for download on Tuesday, Oct. 14, at http://www.microsoft.com/silverlight. Customers already using a previous version of Silverlight will be automatically upgraded to Silverlight 2.

Silverlight 2 sẽ sẵn sàng để download vào ngày 14/10, tại http://www.microsoft.com/silverlight. Nếu máy bạn đã cài đặt các phiên bản trước của Silverlight thì nó sẽ tự động cập nhật. Phiên bản “technology preview” của Soyatec project có tại địa chỉ  http://www.eclipse4sl.org, dự kiến phiên bản chính thức sẽ ra mắt vào nửa cuối 2009.