日期:2014-05-19  浏览次数:20460 次

关于gridview的一些问题
1、如何通过dataset与之后台代码绑定
2、如何隐藏主键与dataset中的datatable一些不想显示的值,同时如何客户选择(每一行都加一个checkbox列时)如何得到这个主键?
最好有示例代码

------解决方案--------------------
綁定gridview的方法和datagrid方法一樣,隱藏,而且是動態隱藏行也是沒問題的,this.GridView1.Columns[2].Visible = false; 你指定的列設為false就好
------解决方案--------------------
gridview.DataSource = dataset;
gridview.DataBind();

不想显示的可以设置gridview的datakey
------解决方案--------------------
1.如何通过dataset与之后台代码绑定
回答:
GridView1.DataSource=(你要绑定的DataSet);
GridView1.DataBind();

2.如何隐藏主键与dataset中的datatable一些不想显示的值
回答:
<asp:GridView ID= "Gridview1 " AutoGenerateColumns= "False " runat= "server " DataKeyNames= "Id " >
<Columns>
<asp:BoundField DataField= "Name " HeaderText= "姓名 " />
<asp:BoundField DataField= "LoginId " HeaderText= "帐号 " />
//在此定义你想要显示的列,要隐藏的列不定义
</Columns>
</asp:GridView>
当然这个方法是在设计的时候就需要知道哪些列该显示哪些列该隐藏,如果需要在运行的时候动态隐藏某些列,那么可以:
GridView1.Columns[5].Visible = false; //隐藏第6列,注意列的下标从0开始计数

3.如何客户选择(每一行都加一个checkbox列时)如何得到这个主键?
回答:
创建模板列checkbox,可以通过后台代码遍历各行的checkbox是否选中,如果选中则取出该checkbox所在数据行的id:
<asp:GridView ID= "Gridview1 " AutoGenerateColumns= "False " runat= "server " DataKeyNames= "Id " >
<Columns>

<ItemTemplate>
<asp:Checkbox runat= "server " id= "Checkbox1 "/>
</ItemTemplate>
<asp:BoundField DataField= "Name " HeaderText= "姓名 " />
<asp:BoundField DataField= "LoginId " HeaderText= "帐号 " />

</Columns>
</asp:GridView>
具体可参考:http://www.asp.net/learn/dataaccess/tutorial52cs.aspx?tabid=63
当然为了提高性能,对选择列最好不要使用后台代码操作,而是要使用javascript来操作,通过javascript还可以对选择列添加“全选”功能等,网上资料很多,你自己查查。

接分!

------解决方案--------------------
asp:GridView ID= "GridView1 " runat= "server " OnRowCancelingEdit= "GridView1_RowCancelingEdit "
OnRowDeleting= "GridView1_RowDeleting " OnRowEditing= "GridView1_RowEditing " OnRowUpdating= "GridView1_RowUpdating "
Width= "635px " AutoGenerateColumns= "False " Font-Size= "Smaller " style= "direction: ltr; line-height: normal; font-family: 宋体; letter-spacing: normal; text-align: left " AllowPaging= "True " AllowSorting= "True " CellPadding= "4 " ForeColor= "#333333 " GridLines= "None " OnRowDataBound= "GridView1_RowDataBound " >
<RowStyle ForeColor= "#333333 " BackColor= "#F7F6F3 " />
<SelectedRowStyle BackColor= "#E2DED6 " Font-Bold= "True " ForeColor= "#333333 " />
<PagerStyle BackColor= "#284775 " ForeColor= "White " HorizontalAlign= "Center " />
<HeaderStyle BackColor= "#5D7B9D " Font-Bold= "True " ForeColor= "White " />
<FooterStyle BackColor= "#5D7B9D " Font-Bold= "True " ForeColor= "White " />
<EditRowStyle BackColor= "#999999 " />
<AlternatingRowStyle BackColor= "White " ForeC