asp.net学习旅程5(GridView特别篇,上)
2009-08-06 23:48
260 查看
1,数据绑定查询
这个些代码比较通用.主要是为了理清思路.可以有不同的实现.
SqlConnection sqlcon;
SqlCommand sqlcom;
string strConn = "Data Source=(local);Database=TestDB;Uid=sa;Pwd=123456"; //连接字符串
string strsql = "select * from tablename where";
sqlcon = new SqlConnection(strConn);
//打开数据连接
SqlDataAdapter myda = new SqlDataAdapter(strsql, sqlcon);
DataSet myds = new DataSet();
sqlcon.Open();
//将结果绑定到指定DataSet中
myda.Fill(myds, "cuabase");
gridview1.DataSourceID = null;
gridview1.DataSource = myds;
gridview1.DataKeyNames = new string[] { "字段名" };
//显示并关闭连接
gridview1.DataBind();
sqlcon.Close();
2.自定义超级连接
GridView自带的编辑功能感觉很弱.一般都是点击编辑后跳转到相应的页面进行修改.
首先编辑字段添加列...
然后在属性->DataNavigateUrlFeild添加要Get传递数据的字段标志
在DataNavgateUrlFromat 添加要掉转页面的格式
例如:page.aspx?cusid={0} 0为占位符
在行为->NavigateUrl添加要跳转页面
要想在相应的界面接收数据则代码如下.
string strName = HttpContext.Current.Request.QueryString["cusid"];
//long id = long.Parse(this.Request.QueryString["cusid"].ToString());
string strRes = "This is the response from the server:\r\n" + "Hello, " + strName + "!";
HttpContext.Current.Response.Clear();//清除缓冲区流中的所有内容输出。
HttpContext.Current.Response.Write(strRes); //将信息写入 HTTP 响应输出流。
HttpContext.Current.Response.Flush();//向客户端发送当前所有缓冲的输出。
HttpContext.Current.Response.End();//将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发EndRequest 事件(停止请求)。
3,在GridView中CheckBox的处理
(1)记录的Check的选择判断,得到选择记录的索引
protected void Button2_Click(object sender, EventArgs e)
{
TextBox2.Text = "";
for (int i = 0; i < gridview1.Rows.Count;i++ )
{
//i为GridView1 的第i行,j为GridView1的第j列
//CheckBox chk = (CheckBox)gridview1.Rows[i].Cells[j].FindControl("CheckBox2");
CheckBox chk = (CheckBox)gridview1.Rows[i].Cells[0].FindControl("CheckBox2");
if (chk.Checked==true)
{
TextBox2.Text = TextBox2.Text + (i+1).ToString();
}
}
}
(2)Check的全部选择
添加Check改变事件,如果为选中状态则将所有记录的CheckBox全部选中,配合ajax效果最好
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
int i;
if (((CheckBox)sender).Checked)
{
for (i = 0; i < gridview1.Rows.Count; i++)
{
((CheckBox)gridview1.Rows[i].FindControl("CheckBox2")).Checked = true;//找到那一列模板的ID值
}
}
else
{
for (i = 0; i < gridview1.Rows.Count; i++)
{
((CheckBox)gridview1.Rows[i].FindControl("CheckBox2")).Checked = false;
}
}
}
今天就到这里...这只是上篇...不过随着慢慢的了解可能还有中篇..下篇1,下篇2,下篇N......
这个些代码比较通用.主要是为了理清思路.可以有不同的实现.
SqlConnection sqlcon;
SqlCommand sqlcom;
string strConn = "Data Source=(local);Database=TestDB;Uid=sa;Pwd=123456"; //连接字符串
string strsql = "select * from tablename where";
sqlcon = new SqlConnection(strConn);
//打开数据连接
SqlDataAdapter myda = new SqlDataAdapter(strsql, sqlcon);
DataSet myds = new DataSet();
sqlcon.Open();
//将结果绑定到指定DataSet中
myda.Fill(myds, "cuabase");
gridview1.DataSourceID = null;
gridview1.DataSource = myds;
gridview1.DataKeyNames = new string[] { "字段名" };
//显示并关闭连接
gridview1.DataBind();
sqlcon.Close();
2.自定义超级连接
GridView自带的编辑功能感觉很弱.一般都是点击编辑后跳转到相应的页面进行修改.
首先编辑字段添加列...
然后在属性->DataNavigateUrlFeild添加要Get传递数据的字段标志
在DataNavgateUrlFromat 添加要掉转页面的格式
例如:page.aspx?cusid={0} 0为占位符
在行为->NavigateUrl添加要跳转页面
要想在相应的界面接收数据则代码如下.
string strName = HttpContext.Current.Request.QueryString["cusid"];
//long id = long.Parse(this.Request.QueryString["cusid"].ToString());
string strRes = "This is the response from the server:\r\n" + "Hello, " + strName + "!";
HttpContext.Current.Response.Clear();//清除缓冲区流中的所有内容输出。
HttpContext.Current.Response.Write(strRes); //将信息写入 HTTP 响应输出流。
HttpContext.Current.Response.Flush();//向客户端发送当前所有缓冲的输出。
HttpContext.Current.Response.End();//将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发EndRequest 事件(停止请求)。
3,在GridView中CheckBox的处理
(1)记录的Check的选择判断,得到选择记录的索引
protected void Button2_Click(object sender, EventArgs e)
{
TextBox2.Text = "";
for (int i = 0; i < gridview1.Rows.Count;i++ )
{
//i为GridView1 的第i行,j为GridView1的第j列
//CheckBox chk = (CheckBox)gridview1.Rows[i].Cells[j].FindControl("CheckBox2");
CheckBox chk = (CheckBox)gridview1.Rows[i].Cells[0].FindControl("CheckBox2");
if (chk.Checked==true)
{
TextBox2.Text = TextBox2.Text + (i+1).ToString();
}
}
}
(2)Check的全部选择
添加Check改变事件,如果为选中状态则将所有记录的CheckBox全部选中,配合ajax效果最好
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
int i;
if (((CheckBox)sender).Checked)
{
for (i = 0; i < gridview1.Rows.Count; i++)
{
((CheckBox)gridview1.Rows[i].FindControl("CheckBox2")).Checked = true;//找到那一列模板的ID值
}
}
else
{
for (i = 0; i < gridview1.Rows.Count; i++)
{
((CheckBox)gridview1.Rows[i].FindControl("CheckBox2")).Checked = false;
}
}
}
今天就到这里...这只是上篇...不过随着慢慢的了解可能还有中篇..下篇1,下篇2,下篇N......
相关文章推荐
- asp.net 学习之路之gridView控件(续)
- asp.net学习之GridView七种字段
- asp.net学习旅程1
- asp.net学习之GridView事件、GridViewRow对象
- ASP.NET 3.5核心编程学习笔记(25):GridView控件
- asp.net学习之GridView七种字段
- asp.net学习之扩展GridView
- asp.net学习之扩展GridView
- ASP.NET学习笔记2--自己写代码绑定Gridview
- asp.net学习之GridView七种字段
- ASP.NET学习笔记[11] - Gridview里的下拉框筛选效果
- 【学习笔记】〖ASP.NET〗GridView中HyperLinkField的控制
- ASP.net中的AJAX学习记录六 无刷新的数据编辑(GridView和DetailsView结合实例)
- ASP.NET学习之GridView
- Asp.net学习笔记----使用GridView+ObjectDataSource进行自定义分页排序
- ASP.net中的AJAX学习记录六 无刷新的数据编辑(GridView和DetailsView结合实例)
- 初学Asp.net关于GridView的一些学习记录
- asp.net学习之扩展GridView
- asp.net学习旅程2
- ASP.NET学习笔记---- 数据查询与展示GridView