Re: please help with wx.dialog

Kevin Light <[email protected]>
Newsgroups gmane.comp.ide.boa-constructor.user
Message-ID <28013719.231212075677158.JavaMail.root@mailhost1.walkertechnical.com>
----- "Fernando Paiva" <[email protected]> wrote:

> Hello Kevin, thanks for your atention.
> 
> The Search Customer form, stay on top of a Customer form, but after
> the 
> consultation it closes.
> I already had attemped the Refresh() of the controls, but I did not
> have 
> success.
> 
> 
> Here the bind of intCtrl.
>         self.intCtrlCodigo = wx.lib.intctrl.IntCtrl(allow_long=False,
>               allow_none=False, default_color=wx.BLACK,
>               id=wxID_DIALOGCLIENTESINTCTRLCODIGO, limited=False,
> max=None,
>               min=None, name='intCtrlCode', oob_color=wx.RED,
> parent=self,
>               pos=wx.Point(80, 34), size=wx.Size(58, 21),
>               style=wx.TE_RIGHT | wx.WANTS_CHARS, value=0)
>         self.intCtrlCode.Bind(wx.EVT_KEY_UP, self.OnIntCtrlCodeKeyUp)
> 
> 
> See my new function, and look the comment.
> 
> def receiveSearch(self, codeOfCustomer):
>         """ This function receives the code and makes the consultation
> sql 
> and fills the fields """
> 
>         self.intCtrlCode.SetValue(codeOfCustomer)
> 
>         try:
>             _sql = """
>                     SELECT customer_code, customer_name FROM customer
> WHERE 
> customer_code = %s
>                    """ % (codeOfCustomer)
>             self.cursor.execute(_sql)
>             registers = self.cursor.fetchall()
>             for x in registers:
>                 self.textCtrlName.SetValue(x["customer_name"])
>         except MySQLdb.Error, e:
>             wx.MessageBox("Error %d: %s" %(e.args[0], e.args[1]))
>         finally:
>             self.intCtrlCode.Refresh()
>             self.textCtrlName.Refresh()
>             # here I make I command print and all the data are
> correct, but 
> the fields not fills
>             print self.intCtrlCode.GetValue()
> 
> Here the function of SearchCustomer form.
> def OnGridSearchCustomerGridCellLeftDclick(self, event):
>         """ This function get a code of Customer in wx.Grid and send
> to 
> function receiveSearch in Customer form """
>         import Customer
>         customer  = Customer.Customer(self)
>         row = event.GetRow()
>         codeOfCustomer = self.gridSearchCustomer.GetCellValue(row, 0)
>         customer.receiveSearch(int(codeOfCustomer))
>         self.Close()
> 
> The command "print" show all values corretly, but the fields not.

Fernando,

Your code appears to be correct.  I've built a quick demo of what you've provided and it works here.  One of the things that I thought might be happening is that your try/except/finally might be masking a value error on your SetValue, but that does not appear to be the case.

How is your search customer form being displayed?  Is it a separate dialog or a form that is placed on top of the other form?  The fact that the data value(s) appear in the controls but does not get displayed is very odd.

Kevin

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.