TextBox_PostContent.Text=""; Label_Subject.Text="《"+e.Item.Cells[2].Text+"》的内容:"; int rowToDelete = e.Item.ItemIndex; // Add code to delete row from data source. dataSetPosted.QTOA_ManualBoard.Rows[rowToDelete].Delete(); //将信息的删除位置为1,并记录删除 string strSQL="UPDATE QTOA_ManualBoard SET Delete_Pause=1,Delete_Time=GETDATE() WHERE PostID="+e.Item.Cells[2].Text.ToString(); ///* if (sqlConnection1.State.ToString()=="Closed") sqlConnection1.Open(); sqlDataAdapter2.UpdateCommand=new SqlCommand(strSQL,sqlConnection1); try { sqlDataAdapter2.UpdateCommand.ExecuteNonQuery(); Label_Subject.BackColor=Color.FromName("DeepSkyBlue"); Label_Subject.Text="提示信息!"; TextBox_PostContent.Text="信息删除成功!"; } catch(SqlException dataException) { Label_Subject.BackColor=Color.FromName("DeepSkyBlue"); Label_Subject.Text="提示信息!"; TextBox_PostContent.Text="数据库操作失败,请稍候再试:"+dataException.Message; } //*/ DataGridPosted.DataBind(); sqlConnection1.Close(); } 我用的是按钮列,实现了删除当前行的功能,希望对你有帮助。
下面程序是我更新datagrid中的数据中的一段,看是否对你有帮助 Sub DataGrid_Update(ByVal sender As Object, ByVal E As DataGridCommandEventArgs) MyDataGrid.DataKeys(CInt(E.Item.ItemIndex)) Dim NumCols As Integer = E.Item.Cells.Count Dim i As Integer For i = 1 To NumCols - 2
Dim CurrentObject As System.Web.UI.WebControls.TextBox CurrentObject = E.Item.Cells(i).Controls(0) next end sub
不是呀....我要的是DATAGRID的select命令......我是在列内多建了个select列,当我选了某行就运行...就是在它的事件函数内: Private Sub DataGrid1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.SelectedIndexChanged
和
DataGrid1.Items(datagrid1.SelectedItemIndex).Cells(2).Text.ToString()都不行呀...
{
TextBox_PostContent.Text="";
Label_Subject.Text="《"+e.Item.Cells[2].Text+"》的内容:";
int rowToDelete = e.Item.ItemIndex;
// Add code to delete row from data source.
dataSetPosted.QTOA_ManualBoard.Rows[rowToDelete].Delete(); //将信息的删除位置为1,并记录删除
string strSQL="UPDATE QTOA_ManualBoard SET Delete_Pause=1,Delete_Time=GETDATE() WHERE PostID="+e.Item.Cells[2].Text.ToString();
///*
if (sqlConnection1.State.ToString()=="Closed") sqlConnection1.Open(); sqlDataAdapter2.UpdateCommand=new SqlCommand(strSQL,sqlConnection1);
try
{
sqlDataAdapter2.UpdateCommand.ExecuteNonQuery();
Label_Subject.BackColor=Color.FromName("DeepSkyBlue");
Label_Subject.Text="提示信息!";
TextBox_PostContent.Text="信息删除成功!";
}
catch(SqlException dataException)
{
Label_Subject.BackColor=Color.FromName("DeepSkyBlue");
Label_Subject.Text="提示信息!";
TextBox_PostContent.Text="数据库操作失败,请稍候再试:"+dataException.Message;
}
//*/ DataGridPosted.DataBind();
sqlConnection1.Close();
}
我用的是按钮列,实现了删除当前行的功能,希望对你有帮助。
Sub DataGrid_Update(ByVal sender As Object, ByVal E As DataGridCommandEventArgs) MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))
Dim NumCols As Integer = E.Item.Cells.Count
Dim i As Integer
For i = 1 To NumCols - 2
Dim CurrentObject As System.Web.UI.WebControls.TextBox
CurrentObject = E.Item.Cells(i).Controls(0)
next
end sub
Private Sub DataGrid1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.SelectedIndexChanged
End Sub至于那些edit,delete列我会用....TKS....顶...
将它们改成
<asp:BoundColumn .....>然后,datagrid1.selectedItem.cell(i).text OK...谢谢....