我在datagrid中有一个超链接列. 目前需要取得该列的值进行数据库处理.
如何取????
d_Userlist.Items[i].Cells[1].Text.ToString()
这个取出来是空值.
有什么好方法可以取的. 或是更本就不能获得该值.
哪位指点一二.
如何取????
d_Userlist.Items[i].Cells[1].Text.ToString()
这个取出来是空值.
有什么好方法可以取的. 或是更本就不能获得该值.
哪位指点一二.
//索引从0开始
第一列是checkbox.我要根据checkbox的状态来处理数据.
所以就用了 dg.items[] 这个来确定被选择了哪一行. cells 是 确定哪一列.
dg[i,0] 这个怎么来确定是哪一行被选择.
我现在头都是昏了.完全没的头绪了.
帮忙帮忙~!
这是在winform中的例子.DataGrid.HitTestInfo hti;
hti=youDataGrid.HitTest(e.X ,e.Y );
switch(hti.Type)
{
case System.Windows.Forms.DataGrid.HitTestType.None:
break;
case System.Windows.Forms.DataGrid.HitTestType.Cell:
this.youDataGrid.Select(hti.Row );
strC=this.youDataGrid[hti.Row,0].ToString().Trim();
strCode=this.youDataGrid[hti.Row,1].ToString().Trim();
break;
case System.Windows.Forms.DataGrid.HitTestType.ColumnHeader:
break;
case System.Windows.Forms.DataGrid.HitTestType.RowHeader:
strC=this.youDataGrid[hti.Row,0].ToString().Trim();//0:为列idx
strCode=this.youDataGrid[hti.Row,1].ToString().Trim();
break;
case System.Windows.Forms.DataGrid.HitTestType.ColumnResize:
break;
case System.Windows.Forms.DataGrid.HitTestType.RowResize:
break;
case System.Windows.Forms.DataGrid.HitTestType.Caption:
break;
case System.Windows.Forms.DataGrid.HitTestType.ParentRows:
break;
}
private void b_delete_Click(object sender, System.EventArgs e)
{
string del = "";
for(int i = 0; i< d_Rolelist.Items.Count;i++)
{
CheckBox cb = (CheckBox)d_Rolelist.Items[i].FindControl("chkDelete");
if(cb.Checked)
{
del +="'"+ d_Rolelist.Items[i].Cells[1].Text.ToString()+"'";
del += ",";
}
}
if(del != "")
{
del = del.Remove(del.Length-1,1);
if(conn.myOleDbExcute("delete from t_Security_Role Where SRole in ("+del+")"))
{
BindGrid();
}
}
else
{
BindGrid();
}
}这个是我的处理代码. 当超链接列是普通列,代码通过.执行无误. 改成超链接后,就取不了值,执行不了.
//看看有类似这样的方法没?
我在datagrid中专门设了一个查看的超链接列 ,结果他说不美观,硬要让id列成为超链接,说是方便.
唉,头发要抓完了,还不知道怎么弄.大哥大姐们帮帮忙吧.
dg[i,0].ToString() 这个 ,我这里无法使用. 请看我在5楼帖出的删除代码.
现在主要是想能够比较正确的取的这个列的值.
反正5:30结帖,接分的,能够说上一两句的都来说说.
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"档案号") %>' NavigateUrl='<%#"AdminArcFileList.aspx?ArcNum="+ DataBinder.Eval(Container.DataItem,"档案号") %>' target="ArcFile">
</asp:HyperLink>
<asp:LinkButton Visible=False id=LinkButton3 runat="server" CausesValidation="False" Text='<%# DataBinder.Eval(Container.DataItem,"档案号") %>'>
</asp:LinkButton>
</ItemTemplate> </asp:TemplateColumn>
{
Response.Write(((HyperLink)e.Item.Cells[1].Controls[0]).Text+"<br>");
}我假设第二列是超链接列,你在ItemDataBound中写上这一段看看效果