| 1) What
is datagrid? The DataGrid Web server control is a
powerful tool for displaying information from a data
source. It is easy to use; you can display editable data
in a professional-looking grid by setting only a few
properties. At the same time, the grid has a
sophisticated object model that provides you with great
flexibility in how you display the data.
2)What’s
the difference between the
System.Web.UI.WebControls.DataGrid and and
System.Windows.Forms.DataGrid? The Web UI control does
not inherently support master-detail data structures. As
with other Web server controls, it does not support
two-way data binding. If you want to update data, you
must write code to do this yourself. You can only edit
one row at a time. It does not inherently support
sorting, although it raises events you can handle in
order to sort the grid contents. You can bind the Web
Forms DataGrid to any object that supports the
IEnumerable interface. The Web Forms DataGrid control
supports paging. It is easy to customize the appearance
and layout of the Web Forms DataGrid control as compared
to the Windows Forms one.
3)How do you customize the column content inside the
datagrid? If you want to customize the content of a
column, make the column a template column. Template
columns work like item templates in the DataList or
Repeater control, except that you are defining the
layout of a column rather than a row.
4) How do you apply specific formatting to the data
inside the cells? You cannot specify formatting for
columns generated when the grid’s AutoGenerateColumns
property is set to true, only for bound or template
columns. To format, set the column’s DataFormatString
property to a string-formatting expression suitable for
the data type of the data you are formatting.
5) How do you hide the columns? One way to have columns
appear dynamically is to create them at design time, and
then to hide or show them as needed. You can do this by
setting a column’s Visible property.
6)How do you display an editable drop-down list?
Displaying a drop-down list requires a template column
in the grid. Typically, the ItemTemplate contains a
control such as a data-bound Label control to show the
current value of a field in the record. You then add a
drop-down list to the EditItemTemplate. In Visual
Studio, you can add a template column in the Property
builder for the grid, and then use standard template
editing to remove the default TextBox control from the
EditItemTemplate and drag a DropDownList control into it
instead. Alternatively, you can add the template column
in HTML view. After you have created the template column
with the drop-down list in it, there are two tasks. The
first is to populate the list. The second is to
preselect the appropriate item in the list — for
example, if a book’s genre is set to “fiction,” when the
drop-down list displays, you often want “fiction” to be
preselected.
7)How do you check whether the row data has been
changed? The definitive way to determine whether a row
has been dirtied is to handle the changed event for the
controls in a row. For example, if your grid row
contains a TextBox control, you can respond to the
control’s TextChanged event. Similarly, for check boxes,
you can respond to a CheckedChanged event. In the
handler for these events, you maintain a list of the
rows to be updated. Generally, the best strategy is to
track the primary keys of the affected rows. For
example, you can maintain an ArrayList object that
contains the primary keys of the rows to update. |