数据筛选和排序------的解析
一.TreeView
SelectedNode 选中的节点
Level 节点的深度(从0开始)
AfterSelect 节点选中后发生
1.获取节点深度
this.tvlist.SelectNode.Level
2.获取节点名称
this.tvlist.SelectNode.Text
二.使用DataView筛选和排序数据
RowFilter指定筛选条件
Sort指定排序方式
//窗体运行时默认选中全部
if (this.tvstulist.SelectedNode.Level == 0) {
ShowStudent();
}
else if (this.tvstulist.SelectedNode.Level == 1) {
DataView dv = new DataView(ds.Tables["Student"]);
dv.RowFilter = "GradeName='"+this.tvstulist.SelectedNode.Text+"'";
this.dgvstulist.DataSource = dv;
}
else if (this.tvstulist.SelectedNode.Level == 2) {
DataView dv = new DataView(ds.Tables["Student"]);
dv.RowFilter = "GradeName='" + this.tvstulist.SelectedNode.Parent.Text + "' and Sex='" + this.tvstulist.SelectedNode.Text + "'";
dv.Sort = "StudentNo desc";
this.dgvstulist.DataSource=dv;
}
三.删除数据
SelectionMode指定选中DataGradeView的选中方式
DialogResult result= MessageBox.Show("是否删除","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
if (result == DialogResult.Yes) {
//获取选中的学号的值
int studentno=(int)this.dgvstulist.SelectedRows[0].Cells["StudentNo"].Value;
try
{
helper.OpenConnection();
string sql = "delete from Student where StudentNo='"+studentno+"'";
SqlCommand cmd = new SqlCommand(sql,helper.Con);
int count=cmd.ExecuteNonQuery();
if (count > 0)
{
MessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
ShowStudent();
}
else {
MessageBox.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception x)
{
MessageBox.Show(x.Message);
}
}