How to delete checked row/s in a datagrig

G

Guest

Hi
I've got this code (see below) that lets me check rows in a datagrid. I want to delet
the checked rows in the datagrid, not in the database. How can I delete the checked rows
I've also tried using e.Item.ItemIndex, but it deletes the whole datagrid instead of the selected row

using System
using System.Collections
using System.ComponentModel
using System.Data
using System.Drawing
using System.Web
using System.Web.SessionState
using System.Web.UI
using System.Web.UI.WebControls
using System.Web.UI.HtmlControls
using System.Data.SqlClient
using System.IO
using System.Text

namespace ExportToExcelTes

/// <summary
/// Summary description for pcs
/// </summary
public class test3array : System.Web.UI.Pag

protected System.Web.UI.WebControls.ListBox lstPeriod
protected System.Web.UI.WebControls.Button btnSubmit
protected System.Web.UI.WebControls.HyperLink hHome
protected System.Data.SqlClient.SqlCommand sqlSelectCommand1
protected System.Data.SqlClient.SqlCommand sqlInsertCommand1
protected System.Data.SqlClient.SqlConnection sqlConnection1
protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1
protected System.Web.UI.WebControls.DropDownList drpTSC
protected System.Web.UI.WebControls.Calendar cldPCS
protected System.Web.UI.WebControls.TextBox txtFirstDate
protected System.Web.UI.WebControls.TextBox txtEndDate
protected System.Web.UI.WebControls.Calendar cldEnd
protected ExportToExcelTest.DataSet1 dataSet11

SqlDataAdapter da
DataSet ds
SqlParameter sp


string dbPeriod = ""

protected System.Data.SqlClient.SqlCommand cmdUpdateCDX
protected System.Web.UI.WebControls.DataGrid dgPCS
protected System.Web.UI.WebControls.DataGrid dgExport
protected System.Web.UI.WebControls.Label Label1
protected System.Web.UI.WebControls.Button GetSelections
protected System.Web.UI.WebControls.Label ResultsInfo
string dbPeriod2 = ""

private void Page_Load(object sender, System.EventArgs e

sqlDataAdapter1.Fill(dataSet11)
drpTSC.DataBind()






private void cldPCS_SelectionChanged(object sender, System.EventArgs e

txtFirstDate.Text = cldPCS.SelectedDate.ToString()



private void cldEnd_SelectionChanged(object sender, System.EventArgs e

txtEndDate.Text = cldEnd.SelectedDate.ToString()


private void btnSubmit_Click(object sender, System.EventArgs e

string strConn = "data source=localhost;initial catalog=Northwind;persist security info=False;user "
"id=sa;workstation id=NCOBOX_0G4XKLO1;packet size=4096"
SqlConnection conn = new SqlConnection(strConn)

dbPeriod = txtFirstDate.Text
dbPeriod2 = txtEndDate.Text

da = new SqlDataAdapter("Xolisa CS PCS",conn)
da.SelectCommand.CommandType = CommandType.StoredProcedure

sp = new SqlParameter("@LoggerLocName",System.Data.SqlDbType.NVarChar)
sp.Direction = ParameterDirection.Input
sp.Value = drpTSC.SelectedItem.Text
da.SelectCommand.Parameters.Add(sp)

//add Date input parameter
sp = new SqlParameter("@DateTransactedCurrent", System.Data.SqlDbType.DateTime)
sp.Direction = ParameterDirection.Input
sp.Value = dbPeriod2
da.SelectCommand.Parameters.Add(sp)

//add Date input parameter
sp = new SqlParameter("@DateTransactedPrevious", System.Data.SqlDbType.DateTime)
sp.Direction = ParameterDirection.Input
sp.Value = dbPeriod
da.SelectCommand.Parameters.Add(sp)

ds = new DataSet()
da.Fill(ds)

dgPCS.DataSource = ds
dgPCS.DataBind()

dgExport.DataSource = ds
dgExport.DataBind();


//Button for deleting checked row
private void GetSelections_Click(object sender, System.EventArgs e

ArrayList selectedRows = new ArrayList()
StringBuilder nextUrl = new StringBuilder()
int i = 0

foreach (DataGridItem item in dgPCS.Items

CheckBox chkBox = (CheckBox)item.FindControl("Checkbox1")
if (chkBox != null && chkBox.Checked

TextBox id = (TextBox)item.FindControl("productID")

if (id != null
{
selectedRows.Add(id.Text);
i++;
}//end of inner if
}//end of outer if
}//end of foreach


if (selectedRows.Count > 0)
{
//Delete checked rows
}//end of if

}

//Delete selected row
private void dgPCS_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int rowToDelete = e.Item.ItemIndex;
dgPCS.DataBind();
}


}
}
 
R

Rami Saad

Hi,
one method to do that is to delete the row from the dataview, then refresh
the datagrid using DG.Refresh()

--
Rami Saad
Microsoft GTSC Developer support for Middle East


Lisa said:
Hi,
I've got this code (see below) that lets me check rows in a datagrid. I want to delete
the checked rows in the datagrid, not in the database. How can I delete the checked rows?
I've also tried using e.Item.ItemIndex, but it deletes the whole datagrid instead of the selected row.

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using System.Text;

namespace ExportToExcelTest
{
/// <summary>
/// Summary description for pcs.
/// </summary>
public class test3array : System.Web.UI.Page
{
protected System.Web.UI.WebControls.ListBox lstPeriod;
protected System.Web.UI.WebControls.Button btnSubmit;
protected System.Web.UI.WebControls.HyperLink hHome;
protected System.Data.SqlClient.SqlCommand sqlSelectCommand1;
protected System.Data.SqlClient.SqlCommand sqlInsertCommand1;
protected System.Data.SqlClient.SqlConnection sqlConnection1;
protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
protected System.Web.UI.WebControls.DropDownList drpTSC;
protected System.Web.UI.WebControls.Calendar cldPCS;
protected System.Web.UI.WebControls.TextBox txtFirstDate;
protected System.Web.UI.WebControls.TextBox txtEndDate;
protected System.Web.UI.WebControls.Calendar cldEnd;
protected ExportToExcelTest.DataSet1 dataSet11;

SqlDataAdapter da;
DataSet ds;
SqlParameter sp;


string dbPeriod = "";

protected System.Data.SqlClient.SqlCommand cmdUpdateCDX;
protected System.Web.UI.WebControls.DataGrid dgPCS;
protected System.Web.UI.WebControls.DataGrid dgExport;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Button GetSelections;
protected System.Web.UI.WebControls.Label ResultsInfo;
string dbPeriod2 = "";

private void Page_Load(object sender, System.EventArgs e)
{
sqlDataAdapter1.Fill(dataSet11);
drpTSC.DataBind();


}



private void cldPCS_SelectionChanged(object sender, System.EventArgs e)
{
txtFirstDate.Text = cldPCS.SelectedDate.ToString();

}

private void cldEnd_SelectionChanged(object sender, System.EventArgs e)
{
txtEndDate.Text = cldEnd.SelectedDate.ToString();
}

private void btnSubmit_Click(object sender, System.EventArgs e)
{
string strConn = "data source=localhost;initial catalog=Northwind;persist security info=False;user " +
"id=sa;workstation id=NCOBOX_0G4XKLO1;packet size=4096";
SqlConnection conn = new SqlConnection(strConn);

dbPeriod = txtFirstDate.Text;
dbPeriod2 = txtEndDate.Text;

da = new SqlDataAdapter("Xolisa CS PCS",conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;

sp = new SqlParameter("@LoggerLocName",System.Data.SqlDbType.NVarChar);
sp.Direction = ParameterDirection.Input;
sp.Value = drpTSC.SelectedItem.Text;
da.SelectCommand.Parameters.Add(sp);

//add Date input parameter
sp = new SqlParameter("@DateTransactedCurrent", System.Data.SqlDbType.DateTime);
sp.Direction = ParameterDirection.Input;
sp.Value = dbPeriod2;
da.SelectCommand.Parameters.Add(sp);


//add Date input parameter
sp = new SqlParameter("@DateTransactedPrevious", System.Data.SqlDbType.DateTime);
sp.Direction = ParameterDirection.Input;
sp.Value = dbPeriod;
da.SelectCommand.Parameters.Add(sp);

ds = new DataSet();
da.Fill(ds);

dgPCS.DataSource = ds;
dgPCS.DataBind();

dgExport.DataSource = ds;
dgExport.DataBind();
}

//Button for deleting checked rows
private void GetSelections_Click(object sender, System.EventArgs e)
{
ArrayList selectedRows = new ArrayList();
StringBuilder nextUrl = new StringBuilder();
int i = 0;

foreach (DataGridItem item in dgPCS.Items)
{
CheckBox chkBox = (CheckBox)item.FindControl("Checkbox1");
if (chkBox != null && chkBox.Checked)
{
TextBox id = (TextBox)item.FindControl("productID");

if (id != null)
{
selectedRows.Add(id.Text);
i++;
}//end of inner if
}//end of outer if
}//end of foreach


if (selectedRows.Count > 0)
{
//Delete checked rows
}//end of if

}

//Delete selected row
private void dgPCS_DeleteCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
 
G

Guest

I've tried to use a dataview, and was unsuccessful. Do you have an example that I can use?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top