请教关于DataGrid的几个难题

xuhaixian 2004-12-20 11:08:41
1。如何用程序代码方式设定DataGrid的页眉文本?
2。如何达到这样的效果:通过输入用户的姓名等信息在数据库中查询用户的资料,并用DataGrid显示出来,然后对在DataGrid显示出来的用户信息(如姓名、地址等)进行删除、修改等操作?

rt。thanks(最好用C#语言)
...全文
301 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
tengjian1981 2004-12-30
  • 打赏
  • 举报
回复
第一个:
DataGrid1.Columns[0].HeaderText="你的列头名称";
PerfectStar 2004-12-30
  • 打赏
  • 举报
回复
1。DataGrid1.Columns[i].HeaderText = "你想取的名字";//i是列数,从0开始计算
2。增加下面列

<Columns>
..............................................
<asp:EditCommandColumn CancelText="取消" EditText="更改" UpdateText="确定" HeaderText="更改" />
<asp:ButtonColumn HeaderText="删除" Text="删除" CommandName="remove" />
</Columns>
在itemcommand事件中执行,下面是我的代码没修改过的,你参考下:
private void DataGrid2_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{

DataGrid2.EditItemIndex=-1;
DataGrid2.DataSource=dv2;
DataGrid2.DataBind();
}

private void DataGrid2_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{

}

private void DataGrid2_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
Label ll=(Label)e.Item.FindControl("Label1");
label=ll.Text;
DataGrid2.EditItemIndex=(int)e.Item.ItemIndex;
DataGrid2.DataSource=dv2;
DataGrid2.DataBind();
}

private void DataGrid2_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (((LinkButton)e.CommandSource).CommandName=="remove")
{
SqlConnection myconn=new SqlConnection(Conn);
myconn.Open();

string st="delete from comm_list where myid="+e.Item.Cells[0].Text;
SqlCommand com=new SqlCommand(st,myconn);
com.ExecuteNonQuery();
st="SELECT * FROM comm_list";
SqlDataAdapter adapter= new SqlDataAdapter(st,myconn);
DataSet ds=new DataSet();
adapter.Fill(ds,"users");
dv2=ds.Tables["users"].DefaultView;
DataGrid2.DataSource=dv2;
DataGrid2.DataBind();
myconn.Close();
Response.Write("<script language=javascript>alert('数据已删除!');</script>");
}
}

private void DataGrid2_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DropDownList dd=(DropDownList)e.Item.FindControl("DropDownList1");

SqlConnection myconn=new SqlConnection(Conn);
myconn.Open();
string st;


string id=e.Item.Cells[0].Text;
string id1=dd.SelectedItem.Text;
string id2=((TextBox)e.Item.Cells[2].Controls[0]).Text;
string id3=((TextBox)e.Item.Cells[3].Controls[0]).Text;
string id4=((TextBox)e.Item.Cells[4].Controls[0]).Text;
string id5=((TextBox)e.Item.Cells[5].Controls[0]).Text;
string id6=((TextBox)e.Item.Cells[6].Controls[0]).Text;
string id7=((TextBox)e.Item.Cells[7].Controls[0]).Text;
string id8=((TextBox)e.Item.Cells[8].Controls[0]).Text;
string id9=((TextBox)e.Item.Cells[9].Controls[0]).Text;
string id10=((TextBox)e.Item.Cells[10].Controls[0]).Text;
string id11=((TextBox)e.Item.Cells[11].Controls[0]).Text;
string id12=((TextBox)e.Item.Cells[12].Controls[0]).Text;
string id13=((TextBox)e.Item.Cells[13].Controls[0]).Text;
string id14=((TextBox)e.Item.Cells[14].Controls[0]).Text;
string id15=((TextBox)e.Item.Cells[15].Controls[0]).Text;
string id16=((TextBox)e.Item.Cells[16].Controls[0]).Text;



st="update [comm_list] set myname='"+
id1+"',myyear='"+
id2+"',mymonth='"+
id3+"',myrealuse='"+
id4+"',myplanuse='"+
id5+"',myoverspend='"+
id6+"',月基本费='"+
id7+"',本地通话费='"+
id8+"',漫游通话费='"+
id9+"',长途通话费='"+
id10+"',其他增值业务费='"+
id11+"',代收信息费='"+
id12+"',本地通话费优惠='"+
id13+"',其他='"+
id14+"',其他优惠费='"+
id15+"',备注='"+
id16+"' where myid="+id;

SqlCommand com=new SqlCommand(st,myconn);
com.ExecuteNonQuery();
st="select * from comm_list";
SqlDataAdapter adapter= new SqlDataAdapter(st,myconn);
DataSet ds=new DataSet();
adapter.Fill(ds,"users");
dv2=ds.Tables["users"].DefaultView;
DataGrid2.DataSource=dv2;
DataGrid2.DataBind();
myconn.Close();
Response.Write("<script language=javascript>alert('数据已更新!');</script>");

}
kkeemmgg 2004-12-30
  • 打赏
  • 举报
回复
只有在Page_Load()中设定HeaderText才有效.我也遇过.
leihome 2004-12-21
  • 打赏
  • 举报
回复
使用模板列,headtext
cuike519 2004-12-21
  • 打赏
  • 举报
回复
QuickStart上面也应该有!这些都是基本的。
yichuan1982 2004-12-21
  • 打赏
  • 举报
回复
查帮助好了,还有事例
goody9807 2004-12-21
  • 打赏
  • 举报
回复
http://dotnet.aspx.cc/ShowDetail.aspx?id=8ADE535F-AD40-4DE3-A962-A64B4FAF12C4
andrawsky 2004-12-21
  • 打赏
  • 举报
回复
第一个问题:
在MSDN上找得到。
第二个问题:
用模板列做。
都不难!在MSDN上或在坛子里找都能找到!
vzxq 2004-12-21
  • 打赏
  • 举报
回复
记录的特殊处理,可以在sql语句中加入,也可以在ItemDataBound事件中加入
microhf 2004-12-21
  • 打赏
  • 举报
回复
以后请不要用这种题目,很简单。
我以为解决问题最好的方式是只接面对,相信你身边一定有人能解决,只接问他们吧。
jan1010 2004-12-21
  • 打赏
  • 举报
回复
DataGrid1.Columns[i].HeaderText = "mmmm";
xxqqpp 2004-12-21
  • 打赏
  • 举报
回复
这种问题在msdn和网上都可以找到
happyfamily 2004-12-21
  • 打赏
  • 举报
回复
up
zr1982930 2004-12-21
  • 打赏
  • 举报
回复
在论坛好好收收吧!
yhmreg 2004-12-20
  • 打赏
  • 举报
回复
帮顶:

如果我提出的记录中,有些特殊的项需要用 另外的格式来显示(比如字体用红色等),应该如何来判断这些行,和怎样来设置呢????谢谢
悄悄的回来了 2004-12-20
  • 打赏
  • 举报
回复
第一个问题:
在MSDN上找得到。
第二个问题:
用模板列做。
都不难!在MSDN上或在坛子里找都能找到!
lohoo 2004-12-20
  • 打赏
  • 举报
回复
2.看看datagrid-》属性生成器-》列-》添加按钮列-》编辑列,就可以解决你的第二问,中间当然要写代码,msdn中有示例.
1.更得意,datagrid列的,headtext好像是这个属性.
triout 2004-12-20
  • 打赏
  • 举报
回复
这个问题很简单,你查看一下文档,凡是能在ASPX文件中设置的,都可以在代码中处理,反而能在代码中处理的不一定能在ASPX中设置。

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧