Ask a Question related to ASP.NET Data Grid Control, Design and Development.
-
Joel Finkel #1
Cells[].Text or Cells[].Controls[0]
Folks,
The following code illustrates two methods of obtaining the contents of a DataGrid Item. The function has been bound to the ItemCommand of the DataGridCommandEventHandler. It is invoked by clicking a button within the row.
Note that because I am loathe to hard-code column numbers, as they may change, I at least make the code a bit easier to maintain by setting constants to represent the column numbers I need to use.
In the first example, I get the Address by simply using the Text attribute of e.Item.Cells[].
In the second example, which is the more common in the documentation, I use the two-step process of obtaining the object, e.Item.Cells[].Columns[0] as a TextBox, and then getting its Text attribute.
QUESTION: Why is the second example more common in the documentation when the first method seems to work, is easier to code, and is faster?
QUESTION: Am I missing something terribly important here?
Thanks!
/Joel Finkel
[email]finkel@sd-il.com[/email]
private void DataGrid1_ItemCommand(object sender, DataGridCommandEventArgs e)
{
const int k_p_Address = 7;
const int k_p_City = 8;
const int k_p_State = 9;
const int k_p_Zip = 10;
const int k_p_Country = 11;
try
{
myAddressCorrector.Address = e.Item.Cells[k_p_Address].Text;
TextBox CityText = (TextBox)e.Item.Cells[k_p_City].Controls[0];
myAddressCorrector.City = CityText.Text;
TextBox StateText = (TextBox)e.Item.Cells[k_p_State].Controls[0];
myAddressCorrector.State = StateText.Text;
TextBox ZipText = (TextBox)e.Item.Cells[k_p_Zip].Controls[0];
myAddressCorrector.Zip = ZipText.Text;
TextBox CountryText = (TextBox)e.Item.Cells[k_p_Country].Controls[0];
myAddressCorrector.Country = CountryText.Text;
myAddressCorrector.CorrectAddress();
}
catch (Exception ex)
{
Label1.Text = ex.ToString();
}
Joel Finkel Guest
-
Simple question: e.Item.Cells(0).Controls*(0)
I am new at this.. probably not proficient enough to even consider myself a Newbie yet. :-) I have a DataGrid with Template columns. After the... -
Using controls in datagrid cells
How can I retrieve the Container.DataItem name in a checkbox used in a template column. During an Update, I can dynamically retrieve the value of... -
CType(e.Item.Cells(3).Controls(1), textbox) fails when key is set to READONLY
The code could not be simpler: Dim txtProjectID As TextBox = CType(e.Item.Cells(1).Controls(0), TextBox) Dim dblProjectID As Double =... -
Adding controls to the cells of a dat grid
Dear All, Is it possible to use to the datagrid to take inputs from the user by placing controls in the cells of the grid and saving everything... -
Controls in certain cells in a grid
I have a grid with several fields an many records. For fields that have a large amount of text in them, I want to show a button that the user can...



Reply With Quote

