如果我的数据库中有2列的表。第一个列是唯一标识符(int),第二个列是某人的名字(字符串)。可以说该表中的数据如下。
ID --- Name
1 John
2 Steven
3 Sven
当我运行所有以'S'开头的名称的查询时,它应该在数据网格中返回结果,但是我不希望ID显示在数据网格中,但是我确实希望在单元格中显示ID的值在数据网格中被选中。
我该怎么做。是的,我可以在网格上获取行索引和col索引,但这不会给我真正的“ Steven”和“ Sven” PKI。我是否还应该在查询中添加“ ID”并将其隐藏在数据网格中(甚至不确定是否可行),或者最好的方法是什么?
答案 0 :(得分:0)
您可以在绑定后将其可见性设置为false。
dataGridView.Columns["ID"].Visible = false;
答案 1 :(得分:0)
您可以将命令args属性设置为使用主键值,并在处理命令时在后面的代码中使用相同的值。
<asp:TemplateField ShowHeader="false"> <ItemTemplate> <asp:LinkButton ID="lnkCustomize" Text="Customize" CommandName="Customize" CommandArgument='<%#Eval("IdTemplate") + ";" +Eval("EntityId")%>' runat="server"> </asp:LinkButton> </ItemTemplate> </asp:TemplateField>