We can do it with DataBinding a combobox with DataSet or DataTable object. And we can also do it with customer objects. There are two ways to do this.

Here is the customer object:

public class cbxItem
{
private string _Text;
private long _Value;
public string Text{get{return _Text;}}
public long Value{get{return _Value;}}
public cbxItem(string theText, long theValue)
{
_Text = theText;
_Value = theValue;
}
}

Way 1: using DataBinding with customer objects as DataSet

……
ArrayList cbxObjects= new ArrayList();
while(theDataReader.Read())
{
cbxObjects.Add (new cbxItem (theDataReader.GetString(1),theDataReader.GetInt32 (0)));
}
this.ComboBox1.DataSource = Authors;
this.ComboBox1.DisplayMember =”Text”;
this.ComboBox1.ValueMember = “Value”;
……

Way 2: directly using ComboBox.items.Add(obj) with customer objects:

……
while(theDataReader.Read())
{
ComboBox1.Items.Add (new cbxItem (theDataReader.GetString(1),theDataReader.GetInt32 (0)));
}
……

I only tried IE7.0, but it did donot work well if you have this setting in your GridView:

<asp:GridView ID=”GridView1″ runat=”server” BorderColor=”red” BoderStyle=”Solid” BorderWidth=”1px” RowStyle-BorderColor=”blue” RowStyle-BorderStyle=”Solid” RowStyle-BorderWidth=”1px” ……>

<……/>

But using css works:

1. create css class

<style type=”text/css”>
table.GridViewCss  td,th
{
height:25px;
color:#333333;
border:solid 1px #6A8CA5;
border-collapse: collapse;
}

table.GridViewCss
{
height:25px;
color:#333333;
border:solid 1px #6A8CA5;
border-collapse: collapse;

}
</style>

2. use it

<asp:GridView ID=”GridView1″ runat=”server” CssClass=”GridViewCss” ……>

<……/>

I have some linkButtons in GridView, and I want to call a client-side javascript method with bound data when user click on it.

<asp:LinkButton OnClientClick=’<%# “alert(‘” + Eval(“something”) + “‘)” %>’ ……>

unfortunately, it doesn’t work.

<asp:LinkButton OnClientClick=’<%#  Eval(“something”, “alert(‘{0}’)” %>’ ……>

it doesn’t work too.

Only works for me when use codebehind:

protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
 if (e.Row.RowType == DataControlRowType.DataRow)
 {
 LinkButton lnkbtn = (LinkButton)e.Row.FindControl("lnkbtn");
 string st= DataBinder.Eval(e.Row.DataItem, "something").ToString();
 lnkbtn.Attributes.Add("onclick", string.Format("alert('{0}')", st));
 }
}

var xmlHttp = false;
function getXmlHttpRequestObject() {
 // check for native XMLHttpRequest object
 if(window.XMLHttpRequest && !(window.ActiveXObject)) {  
  try {
   xmlHttp = new XMLHttpRequest(); 
  }
  catch(e) {
   xmlHttp = false;
  }
 }
 // check for IE/Windows ActiveX version
 else if(window.ActiveXObject) {
  try {
   xmlHttp = new ActiveXObject(“Msxml2.XMLHTTP”);
  }
  catch(e) {
   try {
    xmlHttp = new ActiveXObject(“Microsoft.XMLHTTP”);
   }
   catch(e) {
    xmlHttp = false;
   }
  }
 }
}

The XMLHttpRequest object can make requests only to the same domain as the currently loaded page. This security policy is also known as the “same origin” policy.

Follow

Get every new post delivered to your Inbox.