(最近研究了一下DataGrid,总想写的什么可是工作太忙实在没有时间,只好把代码贴出来,大家看了多提见意)
下面是我所做练习的图:
1、DataGrid的超级传值(前面写过了再总结一下)。
代码如下:
下面是DataGrid的超级联接传值的一点说明:
Target="blank" // 表示在另一个页面上运行显示。
DataNavigateUrlField="ggbt" // 要传送的值所在的字段的字段名。
DataNavigateUrlFormatString="shanshi.aspx?rowid={0}" //设置或取得要传送到的页的地址的显示方式。
DataTextField="ggbt" // 要传送的值的字段名。
HeaderText="广告标题" // 要传送的值的文本。
注意:
数值传送过去后在接收的页面要接收一下
变量名=Request.QueryString.Get("ggbt");
这样就完成了DataGrid的DataGrid的超级链接传值.
2、DataGrid如何加入控件及使用。
(主要是将datagrid中的text及控件的值赋给一个文本框)
下面是程序邦定的代码
//如何确定多少行多少列
//如何取得datagrid中文本框和单选按钮组的值
//如何取得任一单元格的值
//如何取得datagrid表头的值
private void datagridlist()
{
string mystr="";
this.TextBox1.Text="";
string myheadtext="";
RadioButtonList RadioButtonListdy;
TextBox strtextbox;
for(int i=0; i {
for(int j=0;j {
RadioButtonListdy=(RadioButtonList)this.DataGrid1.Items[i].FindControl("RadioButtonList1");
strtextbox=(TextBox)this.DataGrid1.Items[i].FindControl("TextBox4");
if(i==0)
{
myheadtext+=this.DataGrid1.Columns[j].HeaderText.ToString()+" ";
}
if(j==3)
{
mystr+=strtextbox.Text+" ";
mystr+=RadioButtonListdy.SelectedItem.ToString()+" ";
}
mystr+=this.DataGrid1.Items[i].Cells[j].Text+" ";
// this.TextBox1.Text+=RadioButtonListdy.SelectedItem.ToString()+"\n";
// this.TextBox1.Text+=strtextbox.Text+"\n";
// //得到单元格的值
// this.TextBox1.Text+=this.DataGrid1.Items[i].Cells[j].Text+"\n";
// //取得表头
// this.TextBox1.Text+=this.DataGrid1.Columns[j].HeaderText.ToString()+"\n";
}
mystr+="\n";
}
myheadtext+="\n";
this.TextBox1.Text+=myheadtext+mystr;
}
3、DataGrid中按钮列的使用。
下面是点击按钮时的代码(如何执行按钮事件)
//如何触发按钮事件
//如何确定单击了哪一行的按钮,从而进行相应的操作
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="onclickok")
{
this.TextBox1.Text="";
string myheadtext="";
RadioButtonList RadioButtonListdy;
TextBox strtextbox;
strtextbox=(TextBox)e.Item.FindControl("TextBox4");
RadioButtonListdy=(RadioButtonList)e.Item.FindControl("RadioButtonList1");
this.TextBox1.Text+=e.Item.Cells[0].Text+"\n";
this.TextBox1.Text+=e.Item.Cells[1].Text+"\n";
this.TextBox1.Text+=strtextbox.Text+"\n";
this.TextBox1.Text+=RadioButtonListdy.SelectedItem.ToString();
for(int i=0; i {
for(int j=0;j {
RadioButtonListdy=(RadioButtonList)this.DataGrid1.Items[i].FindControl("RadioButtonList1");
strtextbox=(TextBox)this.DataGrid1.Items[i].FindControl("TextBox4");
if(i==0)
{
myheadtext+=this.DataGrid1.Columns[j].HeaderText.ToString()+" ";
}
this.TextBox1.Text+=this.DataGrid1.Items[i].Cells[j].Text;
}
}
}
}
4、datagrid分页控件的使用
(1). 在datagrid所在页的html中最上方写
<%@ Register TagPreFix="WebUserControl" TagName="Pager" Src="inc/PageBar.ascx"%>
(2). 在datagrid的html代码后面写入
<WEBUSERCONTROL:PAGER id="PageBar" onclick="CutPage" Runat="server"></WEBUSERCONTROL:PAGER>
(3). 后台使用时:在给datagrid邦定数据时加入
this.PageBar.RowCount = ds.Tables[0].Rows.Count;
this.PageBar.PageSize = this.DataGrid1.PageSize;
this.PageBar.CurrPage = this.DataGrid1.CurrentPageIndex;
this.PageBar.PageBind();
(4).再定义这几个函数:
protected void CutPage(object sender,System.EventArgs e)
{
this.DataGrid1.CurrentPageIndex = this.PageBar.CurrPage;
this.BindBd();
}
private void BtCx_Click(object sender, System.EventArgs e)
{
this.BindBd();
}
这样就完成datagrid的使用了。