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......