to icyer() 不知道有ItemDataBound的呢??如何去绑定呢???能不能可以给例子参考一下呢?
to yellowwee 我用的是模块列的,什么不见itemdatabound呢???
我现在明白了,就是onItemdatabound的
to yellowwee 请你帮我看一下有什么错误呢???Sub DataBindList(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Dim sqlConn As SqlClient.SqlConnection, strConn As String Dim sqlComm As SqlClient.SqlCommand, strComm As String Dim sqlRead As SqlClient.SqlDataReader Dim objCheckBoxList As CheckBoxList objCheckBoxList = CType(DataGrid1.Items(e.Item.ItemIndex).FindControl("checkboxlist1"), CheckBoxList) '建立和连接数据库 strConn = "server=Developsrv;uid=gtman;pwd=gtmanager;database=school" sqlConn = New SqlClient.SqlConnection(strConn) strComm = " select a.id as id,b.kc as kc,a.kc as vid from school_kc as a ,dm_kc as b where a.s_id='45010200001' and a.kc=b.id" sqlComm = New SqlClient.SqlCommand(strComm, sqlConn) sqlConn.Open() sqlRead = sqlComm.ExecuteReader sqlRead.Read() With objCheckBoxList .DataSource = sqlRead .DataTextField = "kc" .DataValueField = "vid" .DataBind() End With End Sub ............... <asp:DataGrid id="DataGrid1" AutoGenerateColumns="False" OnItemDataBound="DataBindList" runat="server"> <Columns> <asp:TemplateColumn HeaderText="课程名称"> <ItemTemplate> <asp:Label id="Label1" runat="server"></asp:Label> </ItemTemplate> <FooterTemplate> <FONT face="宋体"></FONT> </FooterTemplate> <EditItemTemplate> <asp:CheckBoxList id="CheckBoxList1" runat="server" RepeatColumns="1" RepeatLayout="Flow"></asp:CheckBoxList> </EditItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid>
编译器错误信息: BC30408: 方法“Public Sub DataBindList(sender As Object, e As System.Web.UI.WebControls.DataGridCommandEventArgs)”没有与委托“Delegate Sub DataGridItemEventHandler(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs)”相同的签名。源错误: 行 12:<div align="center"> 行 13:<form id="Form1" method="post" runat="server"> 行 14:<asp:DataGrid id="DataGrid1" AutoGenerateColumns="False" OnItemDataBound="DataBindList" runat="server"> 行 15:<Columns> 行 16:<asp:TemplateColumn HeaderText="课程名称">
好的,那改用dataset 试一下呢???
to yellowwee Public Sub DataBindList(sender As Object, e As System.Web.UI.WebControls.DataGridCommandEventArgs)”没有与委托“Delegate Sub DataGridItemEventHandler(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs)”相同的签名 是什么意思???
{
CheckBoxList objCheckBoxList = (CheckBoxList)YourDataGrid.Items[objArgs.Item.ItemIndex].FindControl("CheckBox");
objCheckBoxList.DataSource= YourDS;
objCheckBoxList.DataBind();<asp:DataGrid ItemDataBound='DataBindList'……
不知道有ItemDataBound的呢??如何去绑定呢???能不能可以给例子参考一下呢?
我用的是模块列的,什么不见itemdatabound呢???
请你帮我看一下有什么错误呢???Sub DataBindList(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim sqlConn As SqlClient.SqlConnection, strConn As String
Dim sqlComm As SqlClient.SqlCommand, strComm As String
Dim sqlRead As SqlClient.SqlDataReader
Dim objCheckBoxList As CheckBoxList
objCheckBoxList = CType(DataGrid1.Items(e.Item.ItemIndex).FindControl("checkboxlist1"), CheckBoxList) '建立和连接数据库
strConn = "server=Developsrv;uid=gtman;pwd=gtmanager;database=school"
sqlConn = New SqlClient.SqlConnection(strConn)
strComm = " select a.id as id,b.kc as kc,a.kc as vid from school_kc as a ,dm_kc as b where a.s_id='45010200001' and a.kc=b.id"
sqlComm = New SqlClient.SqlCommand(strComm, sqlConn)
sqlConn.Open()
sqlRead = sqlComm.ExecuteReader
sqlRead.Read() With objCheckBoxList
.DataSource = sqlRead
.DataTextField = "kc"
.DataValueField = "vid"
.DataBind()
End With
End Sub
...............
<asp:DataGrid id="DataGrid1" AutoGenerateColumns="False" OnItemDataBound="DataBindList" runat="server">
<Columns>
<asp:TemplateColumn HeaderText="课程名称">
<ItemTemplate>
<asp:Label id="Label1" runat="server"></asp:Label>
</ItemTemplate>
<FooterTemplate>
<FONT face="宋体"></FONT>
</FooterTemplate>
<EditItemTemplate>
<asp:CheckBoxList id="CheckBoxList1" runat="server" RepeatColumns="1" RepeatLayout="Flow"></asp:CheckBoxList>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
行 13:<form id="Form1" method="post" runat="server">
行 14:<asp:DataGrid id="DataGrid1" AutoGenerateColumns="False" OnItemDataBound="DataBindList" runat="server">
行 15:<Columns>
行 16:<asp:TemplateColumn HeaderText="课程名称">
Public Sub DataBindList(sender As Object, e As System.Web.UI.WebControls.DataGridCommandEventArgs)”没有与委托“Delegate Sub DataGridItemEventHandler(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs)”相同的签名
是什么意思???
在DataGrid的一个模板列中加入CheckBoxList控件:
<asp:CheckBoxList Runat="server" ID="chklist" />
然后在DataGrid的ItemDataBound中加入:
CheckBoxList list = (CheckBoxList)e.Item.FindControl("chklist");
if (list != null)
{
DataTable tbl = new DataTable();
tbl.Columns.Add("col");
DataRow row;
for (i = 0; i < 2; i++)
{
row = tbl.NewRow();
row[0] = "Text" + i.ToString();
tbl.Rows.Add(row);
}
list.DataSource = tbl;
list.DataTextField = "col";
list.DataBind();
}
其中的tbl是一个模拟的表,这个表你可以从数据库里面读取。