如题

解决方案 »

  1.   

    //列表
                if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
                {
                    StringBuilder SelectText = new StringBuilder();
                    SelectText.Append("<INPUT id=\"chkSelect\" type=\"checkbox\" onclick=\"checkSelect(this, 'chkSelect', 'chkAll', ");
                    SelectText.Append(requestSelectCount);
                    SelectText.Append(")\" title=\"选中\" value=\"");
                    SelectText.Append("<Rows>");
                    for (int iColumns = 1; iColumns < e.Item.Cells.Count; iColumns++)
                    {
                        SelectText.Append("<Columns");
                        SelectText.Append(iColumns - 1);
                        SelectText.Append(">");
                        SelectText.Append((e.Item.Cells[iColumns].Text.Replace("\"", "&quot;").Replace("<", "<<")));
                        SelectText.Append("</Columns");
                        SelectText.Append(iColumns - 1);
                        SelectText.Append(">");
                    }//for
                    SelectText.Append("</Rows>");
                    SelectText.Append("\">");
                    e.Item.Cells[0].Text = SelectText.ToString();
                }//列表
    正好前两天写一个通用查询的东东用到
      

  2.   

    忘了说是在ItemDataBound时调用的
      

  3.   

    只是粗略的代码<%@ Page language="c#" Codebehind="WebForm5.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm5" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <TITLE>WebForm5</TITLE>
    <META name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    <META name="CODE_LANGUAGE" content="C#">
    <META name="vs_defaultClientScript" content="JavaScript">
    <META name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <BODY ms_positioning="GridLayout">
    <FORM id="Form1" method="post" runat="server">
    <ASP:DATAGRID id="DataGrid1" runat="server" cellpadding="4" backcolor="White" borderwidth="1px"
    borderstyle="None" bordercolor="#3366CC" autogeneratecolumns="False" width="100%">
    <ITEMSTYLE horizontalalign="Center" forecolor="#003399" backcolor="White" />
    <HEADERSTYLE font-bold="True" horizontalalign="Center" forecolor="#CCCCFF" backcolor="#003399" />
    <COLUMNS>
    <ASP:TEMPLATECOLUMN headertext="id">
    <ITEMSTYLE horizontalalign="Left" width="100" />
    <ITEMTEMPLATE>
    <ASP:LABEL id="lblForumName" runat="server" text='<%# DataBinder.Eval(Container.DataItem,"id") %>'/>
    </ITEMTEMPLATE>
    </ASP:TEMPLATECOLUMN>
    <ASP:TEMPLATECOLUMN headertext="name">
    <ITEMSTYLE width="100px" />
    <ITEMTEMPLATE>
    <SELECT ID="sele" RUNAT="server" NAME="sele" DATASOURCE='<%#GetSource(DataBinder.Eval(Container.DataItem,"name","{0:D}"))%>'>
    <OPTION selected></OPTION>
    </SELECT>
    </ITEMTEMPLATE>
    </ASP:TEMPLATECOLUMN>
    </COLUMNS>
    </ASP:DATAGRID>
    </FORM>
    </BODY>
    </HTML>
      

  4.   

    using System;
    using System.Collections;
    using System.Data;namespace WebApplication1
    {
    public class WebForm5 : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataGrid DataGrid1; private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
    DataTable dTable;
    DataRow dRow;
    dTable = new DataTable();
    dTable.Columns.Add("id");
    dTable.Columns.Add("name");
    for(int i=0;i<5;i++)
    {
    dRow =dTable.NewRow();
    dRow["id"]=i;
    dRow["name"]=("a"+i.ToString())+"#"+("b"+i.ToString())+"#"+("c"+i.ToString());
    dTable.Rows.Add(dRow);
    }
    DataGrid1.DataSource=dTable;
    DataGrid1.DataBind();
    }
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion protected ArrayList GetSource(string strSource) 
    {
    ArrayList arrL=new ArrayList();
    string[] str=null;
    str=strSource.Split('#');
    for(int i=0;i<str.Length;i++)
    {
    arrL.Add(str[i]);
    }
    return arrL;
    }
    }
    }
      

  5.   

    出现如下错误,怎么回事呢?
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    行 113: <ItemTemplate>
    行 114: <select runat="server" id="abc" DataSource="<%# GetSource(DataBinder.Eval(Container.DataItem,"viewusername").ToString())%>"></select>
    行 115: <!--<%# UDS.Components.Staff.GetRealNameStrByUsernameStr(DataBinder.Eval(Container.DataItem,"viewusername").ToString(),0)%>-->
    行 116: </ItemTemplate>
      

  6.   

    已解决,原来DataSource=""一定要改成DataSource=''
    也就是不能用双引号,我倒