Hej <code> Eftersom du verkar grym så kan jag passa på att fråga en annan sak också <code>string a = ((TextBox)e.Item.Cells[ditt_index].Controls[0]).Text;</code> ahh perfekt exakt så jag ville ha det. <code>datagrid delete confirm
jag försöker få en confirm när någon klickar på min delete knapp i min datagrid.
jag bygger datagriden dynamiskt
<code>
ButtonColumn dgcol3 = new ButtonColumn();
dgcol3.HeaderText = "Name";
dgcol3.CommandName = "Select";
dgcol3.DataTextField = "Name";
DataGrid1.Columns.Add(dgcol3);
BoundColumn dgcol2 = new BoundColumn();
dgcol2.HeaderText = "Mapp";
dgcol2.DataField= "Description";
DataGrid1.Columns.Add(dgcol2);
ButtonColumn d = new ButtonColumn();
d.Text = "<img src='images/cancel.gif'/>";
d.CommandName = "Delete";
d.ButtonType = ButtonColumnType.LinkButton;
DataGrid1.Columns.Add(d);
</code>
Jag har alltså här tre stycken kolumner. Jag har hittat en kod som jag tror borde fungera men jag lyckas dock inte.
Den är i VB och jag kör c# så jag kanske har översatt den fel. Men så här ser den ut i vb
<code>
Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
Dim myTableCell As TableCell
myTableCell = e.Item.Cells(0)
Dim myDeleteButton As LinkButton
myDeleteButton = myTableCell.Controls(0)
myDeleteButton.Attributes.Add("onclick", _
"return confirm('Are you Sure you want to delete this company?');")
End Select
</code>
I denna koden står det ju myTableCell = e.Item.Cells(0) men min borde väl vara e.Item.Cells(2) eller.
Tacksam om någon kan hjälpa till med detta. Det är lite bråttom.Sv: datagrid delete confirm
private void DataGrid1_ItemCreated(object sender, DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
LinkButton lbt = (LinkButton)e.Item.Cells[2].Controls[0];
lbt.Attributes.Add("onclick", "return confirm('Are you Sure you want to delete this company?');");
}
}
</code>Sv: datagrid delete confirm
Jag har nu en edit knapp här också och när min Boundcolumn dgcol2 är i edit mode och man klickar på update så går man in i denna metoden
<code>
private void DataGrid1_UpdateCommand(object source, DataGridCommandEventArgs e)
{
TextBox tb;
tb = (TextBox)e.Item.FindControl(e.Item.Cells[1].Controls[0].ToString());
string a = tb.Text;
}
</code>
Men även här blir det att den inte hittar kontrollen. Det borde väl vara Cells[1] och controls[0].
Jag kan ju inte sätta något ID på min dgCol2 så jag vet inte hur jag ska hitta denSv: datagrid delete confirm
Sv: datagrid delete confirm
När jag klickar på edit så kommer alla fält in i edit mode, kan man styra vilka som ska komma in i edit mode?Sv: datagrid delete confirm
private void datagrid1_EditCommand(Object sender, DataGridCommandEventArgs e)
{
datagrid1.EditItemIndex = e.Item.ItemIndex;
BindGrid();
TableCell td = datagrid1.Items[e.Item.ItemIndex].Cells[ditt_index];
string temp = ((TextBox)td.Controls[0]).Text;
td.Controls.Clear();
td.Controls.Add(new LiteralControl(temp));
}
</code>