Using Expression Columns to Display Calculated Values
Số trang: 4
Loại file: pdf
Dung lượng: 15.13 KB
Lượt xem: 4
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
[ Team LiB ] Recipe 3.2 Using Expression Columns to Display Calculated Values Problem You need to display a calculated value for each row in a DataTable and to filter and sort the table on this value. Solution Add an expression column to the table and display it.
Nội dung trích xuất từ tài liệu:
Using Expression Columns to Display Calculated Values [ Team LiB ]Recipe 3.2 Using Expression Columns to Display Calculated ValuesProblemYou need to display a calculated value for each row in a DataTable and to filter and sortthe table on this value.SolutionAdd an expression column to the table and display it. Sort and filter on the expressioncolumn from the default DataView for the table.The sample code contains two event handlers:Form.Load Sets up the sample by creating a DataTable containing the Order Details table from the Northwind sample database. An expression column calculating the extended price for each detail line is created and added to the table. Finally, the default view for the table is bound to the data grid on the form.Apply Button.Click Applies the filter and sort order entered by the user to the Extended Price expression column in the data view.The C# code is shown in Example 3-2.Example 3-2. File: ExpressionColumnForm.cs// Namespaces, variables, and constantsusing System;using System.Configuration;using System.Windows.Forms;using System.Data;using System.Data.SqlClient;// . . .private void ExpressionColumnForm_Load(object sender, System.EventArgs e){ // Define the table and fill it with data. DataTable dt = new DataTable(OrderDetails); String selectText = SELECT * FROM [Order Details]; SqlDataAdapter da = new SqlDataAdapter(selectText, ConfigurationSettings.AppSettings[Sql_ConnectString]); da.Fill(dt); // Add an expression column to the table. dt.Columns.Add(new DataColumn(ExtendedPrice, typeof(Decimal), (Quantity * UnitPrice) * (1 - Discount))); // Define the DataView object. dv = dt.DefaultView; // Bind the DataView to the DataGrid. resultDataGrid.DataSource = dv;}private void applyButton_Click(object sender, System.EventArgs e){ bool isLowerBound = false; bool isUpperBound = false; Decimal lowerBound = 0; Decimal upperBound = 0; if(filterLowerBound.Text.Trim( ).Length > 0) { isLowerBound = true; try { lowerBound = Decimal.Parse(filterLowerBound.Text); } catch(System.FormatException) { MessageBox.Show(Invalid entry for lower bound., Error, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if(filterUpperBound.Text.Trim( ).Length>0) { isUpperBound = true; try { upperBound = Decimal.Parse(filterUpperBound.Text); } catch(System.FormatException) { MessageBox.Show(Invalid entry for upper bound., Error, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } String filter = ; if(isLowerBound) filter = ExtendedPrice >= + lowerBound; if(isUpperBound) filter += ((isLowerBound)? AND : ) + ExtendedPrice used in the sample code) or by setting the Expression property of the column to theexpression.In the sample, an expression column named ExtendedPrice is created with a data type ofDecimal. The column calculates the extended price for the column using the expression(Quantity * UnitPrice) * (1 - Discount).After the column is added to the table, the RowFilter and Sort properties of a DataViewbound to the table with the expression column can sort or filter data in the same way asthey can on any other column. This is shown in the sample code and discussed in moredetail in Recipe 3.1.[ Team LiB ]
Nội dung trích xuất từ tài liệu:
Using Expression Columns to Display Calculated Values [ Team LiB ]Recipe 3.2 Using Expression Columns to Display Calculated ValuesProblemYou need to display a calculated value for each row in a DataTable and to filter and sortthe table on this value.SolutionAdd an expression column to the table and display it. Sort and filter on the expressioncolumn from the default DataView for the table.The sample code contains two event handlers:Form.Load Sets up the sample by creating a DataTable containing the Order Details table from the Northwind sample database. An expression column calculating the extended price for each detail line is created and added to the table. Finally, the default view for the table is bound to the data grid on the form.Apply Button.Click Applies the filter and sort order entered by the user to the Extended Price expression column in the data view.The C# code is shown in Example 3-2.Example 3-2. File: ExpressionColumnForm.cs// Namespaces, variables, and constantsusing System;using System.Configuration;using System.Windows.Forms;using System.Data;using System.Data.SqlClient;// . . .private void ExpressionColumnForm_Load(object sender, System.EventArgs e){ // Define the table and fill it with data. DataTable dt = new DataTable(OrderDetails); String selectText = SELECT * FROM [Order Details]; SqlDataAdapter da = new SqlDataAdapter(selectText, ConfigurationSettings.AppSettings[Sql_ConnectString]); da.Fill(dt); // Add an expression column to the table. dt.Columns.Add(new DataColumn(ExtendedPrice, typeof(Decimal), (Quantity * UnitPrice) * (1 - Discount))); // Define the DataView object. dv = dt.DefaultView; // Bind the DataView to the DataGrid. resultDataGrid.DataSource = dv;}private void applyButton_Click(object sender, System.EventArgs e){ bool isLowerBound = false; bool isUpperBound = false; Decimal lowerBound = 0; Decimal upperBound = 0; if(filterLowerBound.Text.Trim( ).Length > 0) { isLowerBound = true; try { lowerBound = Decimal.Parse(filterLowerBound.Text); } catch(System.FormatException) { MessageBox.Show(Invalid entry for lower bound., Error, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if(filterUpperBound.Text.Trim( ).Length>0) { isUpperBound = true; try { upperBound = Decimal.Parse(filterUpperBound.Text); } catch(System.FormatException) { MessageBox.Show(Invalid entry for upper bound., Error, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } String filter = ; if(isLowerBound) filter = ExtendedPrice >= + lowerBound; if(isUpperBound) filter += ((isLowerBound)? AND : ) + ExtendedPrice used in the sample code) or by setting the Expression property of the column to theexpression.In the sample, an expression column named ExtendedPrice is created with a data type ofDecimal. The column calculates the extended price for the column using the expression(Quantity * UnitPrice) * (1 - Discount).After the column is added to the table, the RowFilter and Sort properties of a DataViewbound to the table with the expression column can sort or filter data in the same way asthey can on any other column. This is shown in the sample code and discussed in moredetail in Recipe 3.1.[ Team LiB ]
Tìm kiếm theo từ khóa liên quan:
công nghệ thông tin kỹ thuật lập trình Oreilly Ado Dot Net Cookbook Ebook-Lib Using Expression Columns to Display Calculated ValuesGợi ý tài liệu liên quan:
-
52 trang 430 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 314 0 0 -
74 trang 299 0 0
-
96 trang 293 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 289 0 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 281 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 275 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 269 1 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 265 0 0 -
Tài liệu hướng dẫn sử dụng thư điện tử tài nguyên và môi trường
72 trang 265 0 0